从linux Server C发送和接收十六进制字符串#

时间:2017-03-02 20:12:03

标签: c# linux tcp hex

我正在开发一个用c#开发的连接Linux服务器的小软件。软件发送HEX字符串并接收HEX String Back。  这是我的代码

static void Main(string[] args)
    {
        TcpClient tcpclient = new TcpClient();

        tcpclient.Connect("192.168.0.100",9010);

        string msg = Console.ReadLine();

        Stream stream = tcpclient.GetStream();
        ASCIIEncoding ascii = new ASCIIEncoding();
        byte[] enviar = ascii.GetBytes(msg);
        stream.Write(enviar, 0, enviar.Length);
        byte[] bit = new byte[255];
        int i = stream.Read(bit, 0,255);
        for (int a = 0; a < i; a++ ) {
            Console.Write(Convert.ToString(bit[0]));
        }
        tcpclient.Close();


    }

字符串示例为0x30 0x30 0x30 0x30 0x30 0x30 0x30 0x34 0x03 0x30 0x30 0x30,响应为30 30 30 30 30 30 33 33 60 60 60 60 FF FF FF FF FF FF FF FF FF FF FF FF FF FF 01 这笔交易是需要将字符串发送到服务器但没有得到响应,需要有这样的响应

realterm

请问你的代码吗?

1 个答案:

答案 0 :(得分:0)

不确定a)是否是拼写错误,以及b)您如何确定自己没有得到答复
那说: 如果您是通过控制台输出说出来的,请检查以下行:

Console.Write(Convert.ToString(位[<强> 0 ]));

我认为应该是:

Console.Write(Convert.ToString(位[<强>一个]));

(也 - 命名一个字节&#34; bit&#34;有点误导 - 没有双关语意)