摘要:
在接受到UDP包后,有时候我们需要根据所接收到得UDP包,获取它的路由目的IP地址和头标识目的地址。(一)主要的步骤:在setsockopt中设置IP_PKTINFO,然后通过recvmsg来获取struct in_pktinfo(struct in_pktinfo是struct msghdr中msg_control的成员).in_pktinfo结构体(如下所示),我们可以从in_pktinfo中获取路由目的地址(destination address of the packet)、头标识目的地址(source address of the packet)。这种方法只能用于UDP(数据报)传输 阅读全文
posted @ 2014-01-20 15:22
单车博客园
阅读(1072)
评论(0)
推荐(0)
摘要:
struct sockaddr addr;struct sockaddr_in* addr_v4;int addr_len = sizeof(addr);//获取local ip and portZeroMemory(&addr, sizeof(addr));if (0 == getsockname(s, &addr, &addr_len)){if (addr.sa_family == AF_INET){ addr_v4 = (sockaddr_in*)&addr; cMonitorInf.nSourceIP = addr_v4->sin_addr.S_u 阅读全文
posted @ 2014-01-20 13:37
单车博客园
阅读(2067)
评论(0)
推荐(0)
摘要:
在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题。这时就可能用到htons(), ntohl(), ntohs(),htons()这4个网络字节顺序与本地字节顺序之间的转换函数:htonl()--"Host to Network Long int"32Bytes ntohl()--"Network to Host Long int"32Bytes htons()--"Host to Network Short int" 16Bytes ntohs()--"Network to Host Short in 阅读全文
posted @ 2014-01-20 12:08
单车博客园
阅读(653)
评论(0)
推荐(0)
浙公网安备 33010602011771号