RT,UDP使用sendto时,用于发送封包的端口是完全随机的?
有没什么规律或者范围?另外,每次要发送封包都新建一个socket,发完就关闭,代价会不会很大?

解决方案 »

  1.   

    若没有bind即随机
    谁告诉你的“另外,每次要发送封包都新建一个socket,发完就关闭”?
      

  2.   


    SOCKADDR_IN addrme;
    addrme.sin_family=AF_INET;
    addrme.sin_port=htons(3008);//端口
    bind(s,(SOCKADDR*)&addrme,sizeof(SOCKADDR)); // 绑定发送端口
      

  3.   

    sendto必须使用已经创建好的SOCKET,然后,如果没有绑定在一个固定的IP和端口上,它会开一个随机的可用的端口,这个端口的使用,一直到closesocket为止,中间不会关闭或者切换端口
      

  4.   

    在你创建socket后要bind,为他指定固定的IP + 端口然后再sendto,这样你的端口是固定的不是随机的