목록2025/05/04 (1)
나만의 작은 도서관
[TIL][C++] 250503 MMO 서버 개발 10일차: 여러 쓰레드가 하나의 소켓에 대해 send를 하려는 상황이 발생하는가?, 이동 방식에 따른 동기화 방식
주의사항: 해당 글은 일기와 같은 기록용으로, 다듬지 않은 날것 그대로인 글입니다. 여러 스레드가 하나의 소켓에 대해 send를 하려는 상황이 발생하는가?recv의 경우기본적으로 TCP 통신에서는 클라이언트-서버 구조에서 상대 호스트와 통신할 때 송신 횟수(send)가 수신 횟수(recv) 보다 많다. 왜냐하면 TCP에서의 수신은 데이터를 한 번에 가져오기 때문이다. 즉, 송신을 3번 해도, 수신 한 번으로 데이터를 전부 가져올 수 있다는 것이다.이러한 이유 때문에 하나의 소켓에 대해 수신 이벤트를 여러 개 등록하지 않고 하나만 등록해 두어도 성능이 준수하다. 어차피 OS가 관리하는 수신 버퍼가 꽉 차기 전에 가져오기만 하면 되기 때문이다.본론: send의 경우send의 경우 recv처럼 이미 존재하는 ..
Today I Learn
2025. 5. 4. 01:17