C# Socket 端口复用
转载: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); }
桂棹兮兰桨,击空明兮溯流光。