2011-10-26 3 views
1

VB6 Winsock에서 스트림 바이트 끝을 보내지 않게하려면 어떻게합니까? 각 메시지 뒤에 0을 보내면 내 코드가 엉망입니다.VB6 Winsock에서 스트림 바이트 끝을 보내지 않게하려면 어떻게합니까?

+0

그냥 0을 무시할 수 있습니까? 매번 전송할 경우 스트림의 마지막 바이트는 무시됩니다. –

+4

뭔가 비린내가 있습니다. 첫 번째 Winsock은 TCP에서 "메시지"를 지원하지 않습니다 ("스트림"이라고 말했습니다). 두 번째로 "스트림 끝"0 바이트를 본 적이 없습니다. 코드에 논리 오류가있는 것 같습니다. – Bob77

+0

@BobRiemersma : 당신이 맞습니다. 답으로 게시하면 기꺼이 표시 할 수 있습니다. 내가 사용하는 것보다 1 바이트 더 할당했습니다. 나는 22 대신 23을 보냈습니다. –

답변

3

수신 한 바이트 만 전송됩니다. TCP/IP는 여분의 바이트를 추가하지 않습니다. 또한 TCP/IP에서 "스트림의 끝"은 메시지의 끝과 동일하지 않습니다. 연결이 끊어지지 않으면 스트림이 종료되지 않습니다.

일부 코드를 게시 할 수 있다면 문제의 최하층에 도달 할 수 있습니다.

관련 문제