2014-02-17 2 views
1

현재 우리는 UDP 프로토콜을 사용하여 우리 게임에 네트워킹을 통합했습니다. 그것은 잘 작동합니다. 하지만 우리는 네트워크를 통해 서버에 문자열을 보냅니다. "10,10,23 - 23,9,10 - 9,23,23" 데이터를 직렬화해야 함을 알게되었습니다. 올바른 방법이므로 데이터를 직렬화해야합니까? 그것의 이점은 무엇입니까? 성능이 저하됩니까? 아니면 괜찮은 문자열을 보내고 있습니까?소켓을 통한 시리얼 라이 제이션의 이점 C++

답변

3

이미 직렬화 중입니다.

나는 인간이 읽을 수있는 문자열이 아닌 serialise to a compact, binary format이 유익한 지 여부를 묻고 있다고 생각합니다. 대답은 입니다. 대역폭 요구 사항과 구문 분석 시간을 줄일 수 있기 때문입니다.

때때로 엔디안, 패딩, 너비, 정렬 및 기타 구현 정의 수량에주의하면서 개체를 구성하는 바이트를 통신 미디어로 바로 복사 할 수 있습니다. 일반적으로 데이터에 단일 범용 형식을 정의하려는 경우 데이터 교환을 표현하기 위해 하나 이상의 엔드 포인트에서 일부 변환이 필요할 수 있습니다. 즉, 대부분의 경우 문자열 파싱 및 문자열 화보다 비용이 더 적을 것입니다.

네트워킹 채널을 디버깅 할 때 통신 채널을 스누핑 할 수 없어 즉시 무슨 일이 벌어지고 있는지 눈으로 확인할 수 있습니다.