C#에서 TCPIP 소켓의 수신 버퍼 크기를 결정하는 방법이 있습니까? 서버에 메시지를 보내고 수신 버퍼 크기가 확실하지 않은 응답을 기다리고 있습니다.소켓 수신 버퍼 크기
IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("192.125.125.226"),20060);
Socket server = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
server.Connect(ipep);
String OutStr= "49|50|48|48|224|48|129|1|0|0|128|0|0|0|0|0|4|0|0|32|49|50";
byte[] temp = OutStr.Split('|').Select(s => byte.Parse(s)).ToArray();
int byteCount = server.Send(temp);
byte[] bytes = new byte[255];
int res=0;
res = server.Receive(bytes);
return Encoding.UTF8.GetString(bytes);
종료 문자가 없으므로 수신 바이트가 끝날 때까지 루프를 돌리는 것과 같은 방법이 있습니다. – Kanishka
@Kanishka는 일반적으로 최상의 성능을 위해 시스템 페이지 크기의 배수를 사용합니다. http://msdn.microsoft.com/en-us/library/ms724958(v=vs.85).aspx –
@Kanishka : 여기보세요 http://msdn.microsoft.com/en-us/library /8s4y8aff.aspx. 'Remarks' 섹션에서 처리 대기중인 데이터가 더 있는지 결정하기 위해 Socket.Receive를 사용하는 방법에 대해 설명합니다. – sashang