socket.Available
不起作用。为什么?我需要使用socket.Available
而不是size
。但它不起作用。所以我需要一个返回socket中字节数的方法。返回TCP/IP套接字中可用字节数的方法
void Receive(Socket socket, byte[] buffer, int offset, int size)
{
//int sockAvail = socket.Available; Here socket.Available always asigns 0 to sockAvail
int received = 0;
do
{
try
{
received += socket.Receive(buffer, offset + received, size - received, SocketFlags.None);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
} while (received < size);
MessageBox.Show(socket.Available.ToString());
}
你到底想干什么?连接缓冲区中的字节数是您正在查找的内容还是尚未传输的数字? – 2010-09-27 12:27:11
为什么标记为C? – 2010-09-27 12:28:02
如果读取'Receive'操作中的所有可用字节,'socket.Available'可能是'0'或'false'(不确定返回类型,对不起)。 – leppie 2010-09-27 12:29:06