轉載:https://www.cnblogs.com/wzd24/archive/2007/05/22/755016.html
不過原作者少定了一句代碼,導致本人調試了半天也成功不了
在winsock的實現中,對於服務器的綁定是可以多重綁定的,在確定多重綁定使用誰的時候,根據一條原則是誰的指定最明確則將包遞交給誰,而且沒有權限之分。這種多重綁定便稱之為端口復用。
void Main() { IPEndPoint localEP = new IPEndPoint(IPAddress.Any, 20000); Socket socket1; socket1 = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket1.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true); socket1.Bind(localEP); Socket socket2; socket2 = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); socket2.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true); socket2.Bind(localEP); }