【发布时间】:2012-03-28 02:14:36
【问题描述】:
我有典型的情况。我需要通过 tcp 向服务器发送“请求”并接收响应。
// socket is connected
socket.Send(CreateRequest());
byte[] br = new byte[VERY_BIG_BUFFER];
int count = socket.Receive(br); // only 4 bytes received: 15 0 0 0
count = socket.Receive(br); // here I receive data I actually need
但是由于某种原因,我必须拨打socket.Receive 两次才能使一切正常。
在额外的通话中,我只收到四个字节:15 0 0 0。
在不了解我为什么需要它的情况下硬编码一个额外的调用可能会导致奇怪的问题。有人知道发生了什么以及为什么我需要额外的电话吗?
【问题讨论】: