UDP使用sendto(socketSend,xxx,xxx,xxx,xxx,xxx)使用的发送端口是?

gauldoth 2009-08-22 09:39:28
RT,UDP使用sendto时,用于发送封包的端口是完全随机的?
有没什么规律或者范围?

另外,每次要发送封包都新建一个socket,发完就关闭,代价会不会很大?
...全文
129 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaohongbo83 2009-08-23
  • 打赏
  • 举报
回复
在你创建socket后要bind,为他指定固定的IP + 端口

然后再sendto,这样你的端口是固定的不是随机的
月竹影 2009-08-23
  • 打赏
  • 举报
回复
sendto必须使用已经创建好的SOCKET,然后,如果没有绑定在一个固定的IP和端口上,它会开一个随机的可用的端口,这个端口的使用,一直到closesocket为止,中间不会关闭或者切换端口
  • 打赏
  • 举报
回复
关闭再创建的时候才可能换端口
猞猁狲 2009-08-22
  • 打赏
  • 举报
回复

SOCKADDR_IN addrme;
addrme.sin_family=AF_INET;
addrme.sin_port=htons(3008);//端口
bind(s,(SOCKADDR*)&addrme,sizeof(SOCKADDR)); // 绑定发送端口
dong364 2009-08-22
  • 打赏
  • 举报
回复
若没有bind即随机
谁告诉你的“另外,每次要发送封包都新建一个socket,发完就关闭”?

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧