我的TCPListener配置是這樣的:的TCPListener藍調,想不通爲什麼連接不正確關閉
this.tcpListener = new TcpListener(IPAddress.Any, config.portNum);
然後我(使用線程)設置一個監聽器函數是這樣的:
private void ListenForClients()
{
this.tcpListener.Start();
while (true)
{
//blocks until a client has connected to the server
TcpClient client = this.tcpListener.AcceptTcpClient();
//create a thread to handle communication
//with connected client
ThreadStart starter = delegate { HandleClientComm(client, this.DBGrid); };
Thread thread = new Thread(starter);
thread.Start();
}
}
圍繞它的作品第一次,第二次我火了,我得到這個錯誤信息:
每個套接字地址(協議/網絡地址/端口)的一個用法通常 允許
線程裏面有一個叫關閉:
tcpClient.Close();
但它似乎並沒有釋放該端口了,有什麼建議?
您獲得這種懷疑的特定代碼行是什麼? – user957902
this.tcpListener.Start();第二次造成問題。 –
您是否在同一個進程中多次調用tcpListener.Start,或者一旦關閉了進程並重新啓動它,就會出現錯誤? – user957902