Session2 02_07_네트워크 프로그래밍_Session #2_Send Q1. SocketAsyncEventArgs 를 재사용하기 위해 어떻게 수정 했는가? Q2. OnSendCompleted에서 _sendQueue에 쌓여있으면 어떻게 했는가? Q3. 아직 부족한 점은 무엇인가? Q4. Send 함수에서 사용된 SocketAsyncEventArgs와 OnSendCompleted 함수는 어떤 역할을 하나요? Q5. 이번 시간에 한 작업을 요약해 보세요. Q1. SocketAsyncEventArgs를 재사용하기 위해서는 RegisterSend나 RegisterRecv를 호출할 때마다 새로운 SocketAsyncEventArgs 객체를 생성하는 것이 아니라, 미리 만들어 놓은 SocketAsyncEventArgs 객체를 사용하면 됩니다. 이렇게 하면 객체 생성에 따른 오버헤드가 .. Server programming 2023. 4. 4. 02_06_네트워크 프로그래밍_Session #1_Recieve Q1. 지난 시간 코드에서 반복되는 구간이 있음에도 스택 오버플로우를 크게 걱정 안해도 되는 이유는? Q2. 이용자가 늘 것을 대비하여 Listener의 Init에서 어떤 수정을 해주었는가? Q3. OnAcceptCompleted는 왜 위험존인가? Q4. Session의 Start, RegisterRecv, OnRecvComplated가 어떤 흐름으로 recieve를 비동기로 움직이게 하고 있나요? Q5. Listener에서 AcceptAsync가 완료 되면 args.AcceptSocket에 연결된 새로 만들어준 소켓을 뱉어 주고 있었다. Recieve의 경우는 이 작업이 없는 대신 무엇을 만들어줘야 하는가? Q6. 이번 시간에 한 Recieve를 분리한 작업 과정을 말해 보세요 답 최대 대기수를 뒀기 .. Server programming 2023. 4. 4. 이전 1 다음