问题描述
我正在开发一个服务器端 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.CanRead 和 networkStream.CanWrite 属性也是 true。相反,networkStream.DataAvailable 是 false。我不知道为什么,但我无法读取流, 所以文本框中没有任何内容。没有产生异常或错误,但是应用程序好像被冻结了,WPF中的其他控件也无法点击。能否请你帮忙?提前致谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)