bind端口的问题,怎样得到系统绑定的哪个端口

feilong_1216 2009-08-17 07:16:31
my_addr.sin_family=AF_INET;
my_addr.sin_port = 0; /* 系统随机选择一个未被使用的端口号 */
my_addr.sin_addr.s_addr = INADDR_ANY; /* 填入本机IP地址 */

if (bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr)) == -1)

绑定完成后,以上my_addr.sin_port = 0; /* 系统随机选择一个未被使用的端口号 */ 是系统给分配的。请问我如何才能知道这个绑定是绑定的哪个端口呢??客户端要给他发消息,要connect什么端口呢??

小弟很急,请大师指点...
...全文
118 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
feilong_1216 2009-08-18
  • 打赏
  • 举报
回复
谢谢大家的支持,我的确是要放在客户端,服务器用公认的端口,主要用来服务器主动发给客户端时的一个调用。主要为了能在一台机器上开多个客户端,服务器要知道每个客户端的IP和端口。
zsxcn 2009-08-17
  • 打赏
  • 举报
回复
另外服务器都是绑定在一个公认的端口上面,你上面的让内核选择一个端口的方法是客户端的用法
lzy0001sl 2009-08-17
  • 打赏
  • 举报
回复
比如1055,只有客户机才可以由系统任意分配
zsxcn 2009-08-17
  • 打赏
  • 举报
回复
getsockname(socket,&sockadd,&len)
lzy0001sl 2009-08-17
  • 打赏
  • 举报
回复
这个当服务器的程序肯定不对,服务器一定要绑定一个公认的端口上。

64,685

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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