인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

릴뭐뭐님의 프로필 이미지

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

PacketSession

버퍼

작성

·

47

0

샌드버퍼는 컨텐츠단에서 사용

리시브버퍼는 서버단에서 사용하는 이유가 뭔가요 ?

답변 2

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

이건 컨텐츠를 만들어 보셔야 감이 오는데
수신하는 것은 Session에서 예상된 타이밍이 처리가 되지만
송신은 그렇지 않습니다. 정말 갑자기 컨텐츠 단에서
몬스터가 공격할 수도 있고 귓말이 올 수도 있고
그런 돌발적인 상황에서 처리하는게 Send라서
다르게 처리하는 것입니다.

릴뭐뭐님의 프로필 이미지
릴뭐뭐
질문자

아하 , 보통 수신받는 것은 연결이 된다면 리슨-> 커넥트-> 세션이 start 되고 수신받는일을 처리하게끔 되어있는거죠 ? (항시 ) ?

샌드 버퍼 같은 경우는 어떤 작업이 되면 -송신받는일을 처리하는거고요 .

 

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 릴뭐뭐님.

네트워크 프로그래밍에서는 각 기능의 역할에 따라 버퍼를 사용하는 방식이 다릅니다. 일반적으로:

  1. 샌드버퍼는 클라이언트나 서버에서 데이터를 전송할 때 사용됩니다. 이를 통해 데이터를 효율적으로 송신할 수 있습니다. 즉, 송신자는 보낼 데이터를 샌드버퍼에 저장하고, 이 버퍼의 데이터를 네트워크를 통해 전송합니다.

  2. 리시브버퍼는 데이터를 수신할 때 사용하는 버퍼로, 서버에서 클라이언트가 보내는 데이터를 받을 때 이 버퍼에 먼저 데이터를 저장합니다. 이는 데이터를 수신 후 처리하기 위한 준비 단계로 볼 수 있습니다.

이와 같은 역할 구분은 데이터를 정리하고, 효율적으로 송/수신하기 위해 필수적입니다. 송신 및 수신 처리의 복잡성을 줄여주고, 데이터 전송의 동시다발적인 처리를 가능하게 합니다.

관련 질문 링크:

  • “Receive 버퍼에 대한 질문”: 여기서 네트워크 버퍼의 컨셉과 역할에 대한 이해를 도울 수 있는 설명을 확인할 수 있습니다.
  • “RecvBuffer”: 리시브버퍼와 관련한 자세한 코드 설명이 포함되어 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.