광란의 공부 일지

  • 홈
  • 태그
  • 방명록

recvbuffer 1

7. RecvBuffer

Recv같은 경우는 멀티스레드 환경을 고려하지 않아도 된다. 한 번에 한 스레드만 ResisterRecv와 ProcessRecv로 들어올 것이기 때문이다. 낚시대가 1개라고 생각하면 된다. 그럼에도 현재의 코드와 같이 RecvBuffer를 그냥 사용하는 것은 문제가 있다. 지금 TCP서버를 만들고 있는데 TCP의 경우는 패킷과의 바운더리가 없다. 이는 상대방이 100바이트를 보내더라도 그것이 잘려서 20바이트만 넘어올 수 있다는 얘기이다. 그럼 뭐가 문제냐? 대부분의 경우 패킷의 완전체를 받아야 처리를 할 수 있을 것이다. 그렇기 때문에 지금처럼 패킷을 덮어쓰면 안되는 것이다. 그럼 이제 Recv 패킷을 관리하는 클래스를 만들어보자. 이 클래스에서 끊어져서 온 패킷을 합치기도 하도 이것저것 작업을 할 것..

게임서버 강의/네트워크 라이브러리 2025.04.07
이전
1
다음
더보기
프로필사진

광란의 공부 일지

프로그래밍 공부, 프로젝트를 하며 정리한 블로그입니다. 댓글로 다양한 의견 남겨주시면 감사드리겠습니다.

  • 분류 전체보기 (51) N
    • 게임서버 강의 (50) N
      • 멀티스레드 (17)
      • 메모리 관리 (8)
      • 네트워크 (8)
      • 네트워크 라이브러리 (10)
      • 패킷 직렬화 (7) N
    • 게임서버 (0)
      • 동기화 (1)

Tag

event-based synchronization, packetsession, 멀티스레드, Lock, memory pool, 스마트포인터, multi byte character set, 패킷 직렬화, 데드락, sendbuffer pool, wide byte character set, 스레드, Deadlock, sendbuffer, 패킷직렬화, tls, buffer helper, recvbuffer, Session, packethandler,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2025/07   »
일 월 화 수 목 금 토
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

방문자수Total

  • Today :
  • Yesterday :

Copyright © Kakao Corp. All rights reserved.

티스토리툴바