阻止在Networkstrem.Read()上

时间:2013-05-28 13:40:26

标签: c# sockets networking blocking networkstream

我正在用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
    }

0 个答案:

没有答案