大哥大姐,这是我的Socket接收语句函数,各位进来看看有什么问题,为何总是死掉????????
public string ReceiveInfo()
{
if(s.Connected == false)
{
if(!ConnectSocket(Server, Port))
{
MessageBox.Show("连接失败!请检查网络!");
return "error";
}
}
string ReceiStr;
ReceiStr = null;
byte[] ByteRece = new byte[256];
Int32 bytes = s.Receive(ByteRece, ByteRece.Length, 0);
ReceiStr = ReceiStr + Encoding.Unicode.GetString(ByteRece, 0, bytes);
if(bytes < 256)
return ReceiStr;
while (bytes > 0)
{
bytes = s.Receive(ByteRece, ByteRece.Length, 0); //111
ReceiStr = ReceiStr + Encoding.Unicode.GetString(ByteRece, 0, bytes);
if(bytes < 256)
break;
}
return ReceiStr;
}
//很少有情况死掉,但我想如果接收的字符的长度如果正好等于256的话就停到111的那条语句上
读不过去了,大家有没有什么解决办法???