从一个UDP连接中怎么获取对方IP和port?

anank 2008-07-22 02:46:25
socket编程,建立udp socket,然后一直等候连接

当有信息发过来时,会收到。

请问此时怎么获取对方的IP和Port?

请指点。

tcp中似乎可以用accept函数
但是udp用什么呢?
有什么函数没有?
...全文
2441 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
醉心编码 2008-07-23
  • 打赏
  • 举报
回复 1
顶一下
sitych 2008-07-22
  • 打赏
  • 举报
回复
这个很简单啊
air_snake 2008-07-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 cceczjxy 的回复:]
i=recvfrom(udp_socket,(char *)netdata,1024,0,(struct sockaddr *)&saddr,&saddrlen);
// printf("%d frome %s ,port %d \n",i,inet_ntoa(saddr.sin_addr),ntohs(saddr.sin_port));
[/Quote]
正确
vsank 2008-07-22
  • 打赏
  • 举报
回复
谢谢大家啊,问题搞定了,呵呵。
cceczjxy 2008-07-22
  • 打赏
  • 举报
回复
在udp中,建立连接并不是如tcp那样真正的在通讯两端建立起了连接,而只是把相应的地址于sock在内核中关联起来,在发送接收数据时不用在每次都添地址了。
cceczjxy 2008-07-22
  • 打赏
  • 举报
回复 1
i=recvfrom(udp_socket,(char *)netdata,1024,0,(struct sockaddr *)&saddr,&saddrlen);
// printf("%d frome %s ,port %d \n",i,inet_ntoa(saddr.sin_addr),ntohs(saddr.sin_port));
zxqw101103 2008-07-22
  • 打赏
  • 举报
回复
用raw socket可以,楼主可以查下相关资料
fytzzh 2008-07-22
  • 打赏
  • 举报
回复
recvfrom函数,可以得到。
linaxing 2008-07-22
  • 打赏
  • 举报
回复
recvfrom()有个sockaddr的参数,从这个结构里面取ip和端口.

23,223

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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