客户端和服务端的端口必须一致,但是现在因为需求,我的客户端机器上要开两套同样的程序,而服务端只有一个程序。
这样一来客户端两个程序就会同时使用一个端口,这是不允许的。请问应该如何解决此问题? 

解决方案 »

  1.   

    公用一个Socket啊,干嘛非得打开两次啊。用个隧道穿个后来的打开的实例如何。
    还有为什么非得开两个程序呢,一个程序两个窗口不行吗?
    非得这样的话。
    在C++中有个共享打开端口的API,忘记了,好像是Set开头的,你可以查查
      

  2.   

    socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram,ProtocolType.Udp);            
    ipPoint = new IPEndPoint(IPAddress.Parse(ipAdrr), 2012);            socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);  //注意:SocketOptionName.ReuseAddress是关键         
    socket.Bind(ipPoint);