Linuxサーバに接続するc#で開発している小さなソフトウェアです。ソフトウェアはHEX Stringを送信し、HEX String Backを受信します。 は、ここに私のコードですLinuxサーバとのHex文字列の送受信C#
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
契約は必要が持っている必要があり、サーバに文字列を送信するが、応答がないということですこの
のような応答が、あなたはコードを手にしてください与えることができますか?
あなたはバイト配列を書いています。あなたが言うように16進文字列を書こうとするなら、 'string.Join(" "、enviar.Select(b => string.Format(" 0x {0:X2} "、b))のような何かをする必要があります) ; 'つまり、バイト配列を書くことは、あなたのように16進文字列を書くより効率的な立場から私にとってより意味があると言われています。 – itsme86
少しバックアップしてください。メッセージプランが必要です。この[説明](http://stackoverflow.com/a/8028242/2226988)を参照してください。 –