使用 TCP 协议进行远程客户端连接的 WPF 服务器应用程序,用 C# 编写

问题描述

我正在开发一个服务器端 Windows Presentation Form WPF 应用程序,以允许连接具有已知 IP 地址和端口的远程客户端。如果客户端成功连接,则给出二进制基数 1,即 00000001。我用另一个软件测试了客户端,我确定它可以正常工作。我想阅读流并将其显示为视频。 我使用以下代码来定义和实现套接字和网络流:

Socket serverSocket = null;
NetworkStream networkStream = null;
IpEndPoint remoteIpEndPoint = new IPEndPoint(IPAddress.Parse("XXX.XXX.XXX.XXX"),yyyyy);
byte[] bytesReceived = null;

...

public void TcpConnect()
{
   try
   {
      serverSocket = new Socket(remoteIpEndPoint.AddressFamily,SocketType.Stream,ProtocolType.Tcp);
      networkStream = new NetworkStream(serverSocket);
      bytesReceived = new byte[1];

      int byteLength = networkStream.Read(bytesReceived);
      myTextBox.Text = System.Text.Enconding.ASCII.GetString(bytesReceived,byteLength);
   }
   catch (SocketException se)
   {
      MessageBox.Show(se.ToString());
   }
}

执行过程中,serverSocket.Connected属性true;此外,networkStream.CanReadnetworkStream.CanWrite 属性也是 true。相反,networkStream.DataAvailablefalse。我不知道为什么,但我无法读取流, 所以文本框中没有任何内容。没有产生异常或错误,但是应用程序好像被冻结了,WPF中的其他控件也无法点击。能否请你帮忙?提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)