我想自己封装TCP或者UDP包进行通信。
端口号肯定不能用现在已经被占用的(但我不想去枚举系统已经使用的端口号),
并且我使用中的端口号也不能让Windows分配给其他程序用。
查了DDK,没找到像AllocatePort/DeallocatePort之类的函数。请各位帮帮忙!

解决方案 »

  1.   

    把占用该端口的程序kill了吧!
      

  2.   

    我只是想知道假如lz可以在server端做到系统分配一个端口,client怎么知道
      

  3.   

    bind一个端口为0的地址, 内核会自动分配一个可用的端口号,然后使用getsockname可以知道套接字使用的IP地址和端口号.
      

  4.   

    一般都用3000以后的。另外很多软件的client和server版的使用都是约定好的。(不可能不约定的,服务端始终需要绑定的)
    且都是有个相对的范围的。5-10之间吧。(代码级来控制)一般如果bind出错,程序都会自报。