【发布时间】:2018-12-17 10:43:43
【问题描述】:
我正在尝试通过 TCP 发送十六进制数据。
我知道如何在 UDP 中做到这一点,但 TCP 对我不起作用:
TcpClient client = new TcpClient("192.168.1.202", 8000);
NetworkStream stream = client.GetStream();
ASCIIEncoding Enc = new ASCIIEncoding();
Byte[] s = new byte[] { 0xa5, 0x5b, 0x02, 0x03, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07 };
Console.WriteLine(s.ToString());
【问题讨论】:
-
你是对的,我粘贴了错误的代码。我已经编辑并且 tis 是非工作代码。错误是它发送的命令格式错误。
-
我没有看到发送命令。您尝试将字节数组发送到哪里?你能发个Minimal, Complete, and Verifiable example
-
我不知道如何添加发送命令,我正在寻找几个小时的示例,这就是我在这里的原因
-
Console.WriteLine("0x" + s.ToString("x2"));
-
如果你需要发送一个代表十六进制值的字符串,你可以尝试这样的事情:
string.Join(" ", s.Select(bTs => bTs.ToString("X2")));。但是,你确定你需要一个字符串而不是一个字节数组吗?