【发布时间】:2018-08-06 02:07:52
【问题描述】:
我正在使用以下代码通过 TCP 向机器发送 XML 请求:
static void sendDataRequest()
{
const int byteSize = 1024 * 1024;
byte[] messageBytes = new byte[byteSize];
TcpClient client = new TcpClient();
client.Connect("192.168.1.51", 61007);
XmlDataDocument XMLDoc = new XmlDataDocument();
XMLDoc.Load("send.xml");
messageBytes = System.Text.Encoding.Unicode.GetBytes(XMLDoc.OuterXml);
NetworkStream stream = client.GetStream();
stream.Write(messageBytes, 0, messageBytes.Length);
messageBytes = new byte[byteSize];
stream.Read(messageBytes, 0, messageBytes.Length);
stream.Dispose();
stream.Close();
}
机器上的日志记录了 XML 请求到达并执行了必要的步骤。但是,当需要发回结果时,它会列出以下消息:
- 传输端点未连接
- 对等方重置连接
这里有什么问题?任何提示将不胜感激。
【问题讨论】:
-
这是一种特别的语言吗?
-
C#,只是添加了一个标签并编辑了标题。谢谢
-
看起来消息正在回显然后关闭。尝试注释掉 Dispose() 和 Close() 看看会发生什么。您使用的是什么类型的应用程序?如果它是控制台应用程序,它可能正在关闭。因此,另一个测试是将 Console.Readline() 放在方法的末尾以阻止应用程序关闭。