const int BufferSize = 8192;
byte[] buffer = new byte[BufferSize];
string bytesRead = "";
int rd = 0;
lock (streamToServer)
{
rd = streamToServer.Read(buffer, 0, BufferSize);
}
for (int i = 0; i < rd; i++)
{
bytesRead += buffer[i].ToString("X2") + " ";//转换16进制
}
textBox5.Text = bytesRead.ToString();
信息发送正确的话server上会有显示client有返回值,如果发送错误信息给server直接卡死。server不显示发送内容client没有返回。求教解决卡死问题。
byte[] buffer = new byte[BufferSize];
string bytesRead = "";
int rd = 0;
lock (streamToServer)
{
rd = streamToServer.Read(buffer, 0, BufferSize);
}
for (int i = 0; i < rd; i++)
{
bytesRead += buffer[i].ToString("X2") + " ";//转换16进制
}
textBox5.Text = bytesRead.ToString();
信息发送正确的话server上会有显示client有返回值,如果发送错误信息给server直接卡死。server不显示发送内容client没有返回。求教解决卡死问题。
rd为0 ,说明断开连接。卡死不知道什么意思, 是否是因为单线程, 循环接受的代码不要放到主线程。
另:string bytesRead = "";
bytesRead += buffer[i].ToString("X2") + " ";//转换16进制
这种方式不太好, 请换成StringBuilder