我正在用 c# 制作一个桌面应用程序。在该应用程序中,我正在使用一个服务器应用程序,该应用程序始终在特定端口发送数据,并且我正在客户端应用程序中从该端口读取数据。(桌面应用程序)。每当我第一次请求数据时(创建套接字连接并从该端口读取数据)它工作正常。但是,如果我暂停接收数据并重新启动(再次创建套接字)并尝试从服务器端口读取数据,我的应用程序就会卡在NetworkStream.Read()
方法上。我检查了wireshark,它显示服务器正在该端口发送数据,但我的应用程序仍然卡住。我没有得到确切的问题。我已经正确关闭了创建的套接字。任何类型的帮助将不胜感激。
我正在使用代码作为
TcpClient m_RtspSocket = new TcpClient(Common.MAddress, Common.Port);
NetworkStream m_RtspStream = m_RtspSocket.GetStream();
m_RtspStream.Socket.ReceiveBufferSize = 8 * 1024 * 1024;
int BytesToRead = PacketSize;
byte[] RTSPData = new byte[PacketSize];
While(IsServiceRunning)
{
bytesRead = m_RtspStream.Read(RTSPData, 0, BytesToRead);
//Processing of received data
}