我有類似的問題,發佈here,有跟隨所有的答案,但得到空字符串作爲響應。 數據。
這裏是我的代碼:發送消息之後和接收響應前右
斷開連接:
try
{
string ENDOFLINE = "\r\n";
TcpClient client = new TcpClient(txtIP.Text, Int32.Parse(txtPort.Text));
NetworkStream stream = client.GetStream();
byte[] data = Encoding.ASCII.GetBytes(txtMessage.Text + ENDOFLINE);
stream.Write(data, 0, data.Length);
String responseData = String.Empty;
Int32 bytes = stream.Read(data, 0, data.Length);
responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);
Console.WriteLine("Received: {0}", responseData);
stream.Close();
client.Close();
}
catch(Exception ex)
{
Console.WriteLine(ex.message);
}
解決方案。我跟着這article
請始終在問題本身中發佈代碼,而不是通過外部鏈接,因此如果鏈接死亡,問題不會變得無用。 –
@PeterB,感謝您的建議,我編輯了這篇文章:) – budiantoip
你不能發送從C#到Java和VV的字節數組,因爲Java使用sbyte而不是字節...你應該改變 byte [] data = Encoding.ASCII .GetBytes(txtMessage.Text + ENDOFLINE); – Alrehamy