소켓 입/출력 설계 정리
안녕하세요. 선생님!
프로토콜 설계관련 큰 흐름을 정리 해보고 있습니다.
주요 포인트는 서버에서 관리(TCP로 연결된 소켓)하고있는 클라이언트들의
요청을 어떤 구조로 처리할지?
총 3가지 형태로 정리되었습니다.
1. 블록
강의 : 멀티쓰레드 채팅서버 구조(블록 소켓)

2. 논블록
강의에는 없지만, 하나의 쓰레드에서 여러 논블록 소켓들 돌며 Receive를 확인하는 구조

3. 비동기
강의 : IOCP기반 채팅서버(클라이언트 수신처리를 OS에 등록하여 콜백 받는구조)

궁금한 부분은
다양한 프로토콜 설계를 "큰 주제"로 나눈다면
블록/ 논블록/ 비동기 이렇게 3가지 형태로 나누어도 크게 문제가 없을 지 궁금합니다.
Answer 1
1
음...우선 IOCP는 Non-blocking I/O 범주에 포함되어야 합니다. 그리고 구조에 따라 스레드 개수는 달라질 수 있겠습니다. 중요한 것은 이 모든 분류는 입/출력 방식에 관한 것으로 프로토콜과는 관련이 없습니다. 프로토콜은 입/출력 데이터 형식에 직접적으로 관련이 있다 하겠습니다. Blocking, Non-blocking, IOCP는 입/출력 구조에 관한 분류입니다. 참고하시기 바랍니다. 😄
0
프로토콜 설계라는 용어를 서버 구조설계로 잘못 사용하고있었네요 ㅠㅠ
IOCP모델도 None-blocking + 비동기 구조로 다시 정리했습니다.
늦은시간 답변 감사합니다 선생님!
recv, send 리턴값 질문
0
77
2
스타,워크와 같은 디스창 (Disconnected)도 비정상 종료에 대응하는 시스템으로 봐야할까요?
0
96
2
수업과 관련해서 읽어볼 만한 책 있나요?
0
111
1
서버가 끊어버리는것에 대한 질문
0
121
2
TCP 의도적 장애 테스트 질문
0
159
2
shutdown()을 호출하는 이유
0
165
1
프로토콜이 적용된 파일 송신 서버에서 send, recv 질문 있습니다!
0
153
2
"파일 송신 서버 제작" 강의 질문입니다!
0
151
2
대표적인 장애 유현 2
0
131
2
대표적인 TCP 장애 유현
0
161
2
이벤트 기반 파일 입출력과 callback 기반 파일 입출력이 네트워크에도 쓰이는 기법인가요?
0
120
2
개발환경 질문이 있습니다.
0
137
1
TCP/IP vs UDP , 멀티 스레드에서의 병목 현상에 대한 질문이 있습니다!
0
221
2
메모리 관련 문제로 질문드립니다.
0
187
2
테스트 환경 질문드립니다!
0
168
2
ThreadAcceptLoop 의 우아한(?) 종료에 대해 질문드립니다.
0
419
2
하트비트 시 서버에서의 연결 종료
0
451
2
강사님 질문 드립니다.
0
249
1
멀티스레드 기반 서버 관련 질문..!
0
412
2
빅 엔디언과 리틀 엔디언
0
378
2
TIME_WAIT 관련 문의드립니다.
0
226
1
강사님 강의자료 인쇄용으로 부탁드립니다.
0
288
1
bind 함수 관련 궁금증
0
357
2
스마트포인터 사용여부 및 가능성
0
260
2

