从服务器发送“100”
NetworkStream sStream = Client.GetStream();
string sMessage = "100";
byte[] sM = Encoding.ASCII.GetBytes(sMessage);
sStream.Write(sM, 0, sM.Length);
我的客户有这段代码。
sStream.Read(sM, 0, sM.Length);
string FirstCall = Encoding.ASCII.GetString(sM);
// or even
string FirstCall = Encoding.ASCII.GetString(sM).ToString();
if(FirstCall == "100")
{
MessageBox.Show("Message check.. Message : "+Encoding.ASCII.GetString(sM));
}
else
{
MessageBox.Show("Error ; " + Encoding.ASCII.GetString(sM));
}
结束我收到消息框说 - 错误; 100
此时我不知道我错过了什么..如果我已经做了
Encoding.ASCII.GetString(sM)
它应该是一个字符串。
答案 0 :(得分:0)
我对字节的研究,我想出..,如果我想发送和接收3位数字我需要做byte[] data = new byte[3];
- “使用字节大小3作为发送3位数字“然后sStream.read(data, 0, data.Lenght);
..
或者如果发送文本,但文本每次都是不同的字节,删除\0
文本后可以使用var new_data = data.TakeWhile((v, index) => data.Skip(index).Any(w => w != 0x00)).ToArray();
但我不测试它是否删除\0
字节之间你是什么想保持。