c# socket 开启线程1监听端口 并将客户端IP添加到listView控件中(为什么每次监听都只能添加一组IP?)
private void GetIPs()//监听客户端IP
{
Form.CheckForIllegalCrossThreadCalls = false;
Socket s = _tcpl.AcceptSocket();
try
{
IPEndPoint clientipe = (IPEndPoint)s.RemoteEndPoint;
getIP = clientipe.Address.ToString();
//if (clientipe != null)
//{
ListViewItem lvi = new ListViewItem(new string[] { clientipe.Address.ToString(), "" });
lvi.ImageIndex = 0;
listView1.Items.Add(lvi);
//}
}
catch (Exception) { }
}
发送完数据后能否立能即接收数据 需要再开线程吗?如何实现?
暂时没有悬赏分 麻烦给位大师了
试过了 还是接受一个
追答接受一个以后,必须等这个被释放了才能接收下一个。你可以这么试一下,服务器端一直开着,客户端每通信一次,就socket.close()结束掉,或者直接把客户端关掉,确保确实释放了
确实是这样
用Form.CheckForIllegalCrossThreadCalls = false;不安全
不是很懂 最经学习了委托 解决了 感谢