如何確保我的計算機上的特定端口不被用於除C#中需要的服務之外的任何其他目的?C#中的專用網絡端口
在我的lan-messenger仿真程序中,當嘗試連接到遠程主機時,出現連接拒絕錯誤。因此,我需要以某種方式確保端口未被用於任何其他目的。
如何確保我的計算機上的特定端口不被用於除C#中需要的服務之外的任何其他目的?C#中的專用網絡端口
在我的lan-messenger仿真程序中,當嘗試連接到遠程主機時,出現連接拒絕錯誤。因此,我需要以某種方式確保端口未被用於任何其他目的。
你不能確保。任何程序都可以註冊在任何端口上偵聽,如果沒有其他進程正在使用它,操作系統將允許它。
最好的選擇是選擇一個現在已知可用於任何服務的端口,並將其用作您的傳入端口。 Here是衆所周知的端口列表。
打開一個tcp-socket監聽它嗎?這阻止了其他人做同樣的事情。
拒絕連接聽起來更像是防火牆問題。
IPAddress localAddr = IPAddress.Parse("127.0.0.1");
server = new TcpListener(localAddr, 0);
這將爲您提供本地計算機上的第一個可用端口。
http://msdn.microsoft.com/en-us/library/system.net.sockets.tcplistener.aspx
不要忘記,找出哪個端口它監聽與... ((IPEndPoint)server.LocalEndpoint).Port – Lazarus 2009-05-17 19:37:22