+ -
当前位置:首页 → 问答吧 → 请教一个socket编程中获取本地ip的问题

请教一个socket编程中获取本地ip的问题

时间:2007-06-22

来源:互联网

Linux系统下,在一个多网卡(即有多个ip地址)的pc上,基于UDP创建了一个socket,只绑定port,不绑定ip。本机上各个ip接收到的信息都传给该socket。收到信息包后,怎么知道该信息包是哪个ip接收到的呢?(也就是该信息包的目的地址。)有什么函数可以得到接收该信息包的IP地址吗?或者有别的方法。

请高手不吝赐教,谢谢!

作者: sdzg_wq   发布时间: 2007-06-22

既然是UDP,那么在传输的UDP包中,就必须有接收包的ip地址,这个ip地址就是你想要的地址,既然你接收到了这个包,那么根据包的结构,你可以从中提取出ip

作者: szduweibing   发布时间: 2007-06-22

recv   中没带   IP   头,如果要区分的话,还是为每个   IP   创建一个   socket   并绑定吧

作者: blankman   发布时间: 2007-06-23

不绑定IP是不知道ip地址的,除非你知道port对应ip

作者: lhh2003   发布时间: 2007-06-23

the   getsockname   function   can   obtains   the   current   bind   socket

作者: loverx   发布时间: 2007-06-26

getpeername()获取客户端的地址
getsockname()获取本端地址

作者: dazzle66   发布时间: 2007-06-28

哪位高人能够解决socket通讯程序穿越代理服务器的问题?

作者: gy_1227   发布时间: 2007-07-05

穿越代理服务器指的是什么功能

作者: lovejklife   发布时间: 2007-07-06

to:lovejklife(程序员怎么样才能发财呢??)
-------------------------------------------------
一辈子作程序员永远发不了财!

作者: sdzg_wq   发布时间: 2007-07-27

类似的帖子好像在CSDN见过!

作者: mymtom   发布时间: 2007-07-27

getsockname.
穿越代理服务器?

作者: dai_weitao   发布时间: 2007-07-27


ssize_t   recvmsg(int   s,   struct   msghdr   *msg,   int   flags);

作者: cceczjxy   发布时间: 2007-07-27

楼上正解

作者: mymtom   发布时间: 2007-07-27

getsockname()

作者: wangjiannuaa   发布时间: 2011-07-09