我编写了一个代码来在 TCP 模式下侦听特定端口上的数据。现在这里的问题是下面的代码从远程接收了一些数据,过了一段时间它没有收到任何东西
我已经检查了wireshark,并且数据正在那里我已经检查了TCPView,端口(有2-3个相同端口的条目)与应用程序一起打开,但很少有端口状态保持为“已建立”并且一个端口说“正在监听” "
如果我正在检查 Wireshark 的错误数据详细信息,那么我发现远程 IP 端口对在 TCPView 中被声明为“ESTABLISHED”,但它无法在日志文件中写入任何内容
我的问题是为什么我的应用程序中没有收到数据。代码有什么问题吗?我已经尝试了谷歌可以提供的所有选项,但没有运气。
TcpListener tcpListenerDeviceResponse = new TcpListener(new IPEndPoint(IPAddress.Parse(localIP), 6005));
tcpListenerDeviceResponse.Start();
while (true)
{
using (TcpClient client = tcpListenerDeviceResponse.AcceptTcpClient())
{
// Get a stream object for reading and writing
using (NetworkStream stream = client.GetStream())
{
Socket skSource = client.Client;
int i;
var data2 = new byte[client.ReceiveBufferSize];
// Loop to receive all the data sent by the client.
while ((i = stream.Read(data2, 0, data2.Length)) != 0)
{
// Translate data bytes to a ASCII string.
string strResponse = System.Text.Encoding.ASCII.GetString(data2, 0, i);
// Insert the data in log text file
// process data
}
stream.Close();
}
// Shutdown and end connection
client.Close();
}
}
tcpListenerDeviceResponse.Stop();