2 chenhaoranokok chenhaoranokok 于 2016.01.22 15:51 提问

TCPListener与TCPClient连接的问题

我要写一个TCP连接的小程序,想实现多个客户端连接服务端的功能。一个客户端与服务端建立连接后发送数据,服务端从流中读取数据,不断连接,然后等待客户端继续发送数据。但是在服务端读数据的程序开的线程中出现了,循环执行完以后不执行后面的代码的问题,谁知道是什么情况。
//client线程中调用的方法 读取流中数据
private void HandleClientComm(Object o) {
string data = null;
byte[] myByte = new byte[256];
TcpClient client = (TcpClient)o;
NetworkStream stream = client.GetStream();
int i;
string now = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
while ((i = stream.Read(myByte, 0, myByte.Length)) != 0)
{
data += System.Text.Encoding.ASCII.GetString(myByte, 0, i - 1);
}
this.Dispatcher.BeginInvoke(new Action(delegate()
{
this.testThread.Text = now + " : " + data;
}));
}

2个回答

enpterexpress
enpterexpress   2016.01.22 16:01
91program
91program   Ds   Rxr 2016.01.22 16:04

一个客户端与服务器连接后,就会有一个线程被创建的。
建议你查一下客户连接到服务器的过程,即服务的监听到客户端连接后做了哪些操作。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!