Skip to content

[fix] 선의 웹서버 과제#18

Open
sunnny619 wants to merge 7 commits into
mainfrom
assign/seneui
Open

[fix] 선의 웹서버 과제#18
sunnny619 wants to merge 7 commits into
mainfrom
assign/seneui

Conversation

@sunnny619

@sunnny619 sunnny619 commented Apr 9, 2024

Copy link
Copy Markdown
Collaborator

C++로 simple webserver 구현

조건

  • 서버는 유저로부터 적절한 HTTP GET 요청을 수신할 경우 적절한 파일을 반환한다.

GET 요청만 처리 가능. GET 이외의 요청은 500 error, 잘못된 URL은 404 error 처리

  • 서버는 요청 수신시 랜덤한 시간을 기다리고 요청된 파일을 반환한다. (1 ~ 3초)

랜덤한 시간(1~3초) 지정은 했으나 원활하게 지정된 시간을 기다리고 반환하는지는 모르겠음

  • 서버는 100명의 클라이언트가 동시 다발적으로 요청하는 상황이 발생하더라도 각 클라이언트 별 평균 처리시간은 3초가 넘으면 안된다.

따로 평균 소요시간 측정을 못했으나 처리시간이 3초가 넘는 것 같음

  • 서버 코드는 되도록 이벤트 루프를 포함한 싱글 스레드 비동기-논블락킹을 활용해 구현한다.

kqueue 이용. 클라이언트에서 들어온 요청을 이벤트 등록하여 처리 구현 시도
curl로 동시 요청한 결과 처리 응답은 받을 수 있었으나 조건에서 기대한 로직인지는 모르겠음

  • 서버는 자신에게 들어온 모든 HTTP 요청을 터미널에 로깅한다.

@sunnny619 sunnny619 self-assigned this Apr 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants