因系统需求,需要server端起一个socket,端口是自动分配的,我用了:
IPEndPoint MessageServer= new IPEndPoint(HostIP,0);
Socket MessageSocket= new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
MessageSocket.Bind(MessageServer);
来实现但是我要把这个自动分配的端口号写到数据库中,以便client端对它进行connect。那在server端怎么获得MessageSocket.Bind(MessageServer);之后系统分配给我的端口号呢??
MessageSocket.LocalEndPoint.ToString()是IP+PORT的,我只要port呀。 :(   :(

解决方案 »

  1.   

    ((IPEndPoint)MessageSocket.LocalEndPoint).Port
      

  2.   

    指定的时候你知道是IPEndPoint,获取的时候你就不知道了,呵呵
      

  3.   

    IPEndPoint MessageServer= new IPEndPoint(HostIP,2000);
    我可以知道端口是2000
    但是IPEndPoint MessageServer= new IPEndPoint(HostIP,0);
    0表示由系统自动在2000-5000之间分配一个没占用的端口,我当然不知道端口是多少.
      

  4.   

    还不结贴~~~~~
    server 用udp广播向 client 发送端口