0
많은 양의 데이터를 클라이언트에 보내면 ReceiveAsync 이벤트가 두 번 이상 호출되며 매번 패킷 몇 개를 가져옵니다.
C# Silverlight Tcp 패킷을 한 번에 하나의 이벤트로 받으려면 어떻게해야합니까? 미리 감사드립니다.C# Silverlight Tcp 패킷을 하나의 조각으로 만들려면 어떻게해야합니까?
많은 양의 데이터를 클라이언트에 보내면 ReceiveAsync 이벤트가 두 번 이상 호출되며 매번 패킷 몇 개를 가져옵니다.
C# Silverlight Tcp 패킷을 한 번에 하나의 이벤트로 받으려면 어떻게해야합니까? 미리 감사드립니다.C# Silverlight Tcp 패킷을 하나의 조각으로 만들려면 어떻게해야합니까?
수 없습니다. TCP의 본질은 데이터가 패킷으로 분해된다는 것입니다. 전체 메시지가 나올 때까지 데이터 수신을 계속하십시오 (그것이 무엇이든간에). 일부 옵션 :
나는 일반적으로 최종 옵션을 싫어하는 왜냐하면 당신이 읽고있는 메시지를 "이해하는"것을 의미하기 때문에 까다로울 수 있습니다. 또한 메시지 내에서 구분 기호가 자연스럽게 발생할 수 있다면 이스케이프 시퀀스 등을 추가해야 할 수도 있습니다.
미리 감사드립니다.하지만이 작업을 수행하는 Tcp/IP 프로토콜을 알고 있습니다. 왜 그렇게해야합니까? 어플리케이션 레벨에서 왜 신경 써야합니까? – Noro
@ 노로 : TCP/IP는 데이터 스트림을 효과적으로 제공하기 때문에. 스트림을 처리하는 방법 (메시지로 나누는 방법 등)을 결정하는 것은 애플리케이션 프로토콜에 달려 있습니다. –