Winsock:获取UDP数据发送端的IP地址和端口号
来源:互联网 发布:淘宝退款诈骗 编辑:程序博客网 时间:2024/06/08 20:03
UDP的接收端使用函数 recvfrom接收数据,这个函数在winsock.h中定义如下:
- int recvfrom(
- __in SOCKET s,
- __out char* buf,
- __in int len,
- __in int flags,
- __out struct sockaddr* from,
- __inout_opt int* fromlen
- );
其中的参数 from 就保存了数据发送端的IP地址和端口号,为了便于说明,sockaddr_in结构在winsock中定义如下:
- struct sockaddr_in {
- short sin_family;
- u_short sin_port;
- struct in_addr sin_addr;
- char sin_zero[8];
- };
sin_addr:数据发送端的IP地址;
sin_port:数据发送端的端口号;
所以,可以使用如下的代码获取数据发送端的IP地址和端口号:
- ......
- CHAR szClientIP[128], szClientPort[64];
- strcpy(szClientIP, inet_ntoa(from.sin_addr));
- strcpy(szClientPort, itoa(ntohs(from.sin_port)));
- ......
函数inet_ntoa的作用是将一个IPv4的网络地址转换成为一个标准的IP地址字符串,并且以点号(.)分割,在winsock.h中定义如下:
- char* FAR inet_ntoa(
- __in struct in_addr in
- );
函数ntos的作用是将一个16的无符号数有网络字节顺序转换成主机字节顺序,在winsock.h中定义如下:
- u_short ntohs(
- __in u_short netshort
- );
- Winsock:获取UDP数据发送端的IP地址和端口号
- Winsock:获取UDP数据发送端的IP地址和端口号
- python: tcp/ip学习、端口号、UDP的发送和接受数据、绑定端口号、模拟聊天室
- 同wifi环境下android设备自动获取socket服务端的ip地址和端口号的方法-UDP广播
- netcat源代码分析,udp模式(1)服务端如何得到客户端的ip地址和端口号?
- VC中UDP通信中记录对方的IP地址和端口号
- Java-网络编程(IP地址)-(TCP和UDP)-(Socket)-(Udp-发送端)-(Udp-接收端)
- 获取带有ip地址、端口号和跟路径的地址
- linux UDP通讯 获取源IP地址端口信息
- 通过JMX获取weblogic的IP地址和端口
- 【web】项目中如何获取ip地址和端口号
- TOMCAT 获取服务器ip地址和端口号
- winsock中怎么获取本机的IP地址
- iOS 怎样通过UDP发送广播寻找设备,拿到局域网的设备ip 和 端口
- IP地址和端口号
- 在网络通讯中,如何自己分配可用的端口号和获取自己的ip地址
- 在WCF服务中获取客户端的IP地址和端口号
- 在WCF服务中获取客户端的IP地址和端口号
- TUXEDO配置参数详解 远程客户端配置
- 今天开始正式入驻CSDN博客
- 孔子算卦
- 谈谈apache的htaccess伪静态规则转换到iis下的httpd.ini规则~
- Android开发学习之LauncherActivity开发启动的列表
- Winsock:获取UDP数据发送端的IP地址和端口号
- OpenMax系统的结构(2)
- C++ 界面库比较
- OpenMax IL层的接口 3
- 常用ASP.NET操作类
- JS中dom绑定事件方法
- AXIS2框架下另一种发布WEBSERVICE的方法,以及浏览器中验证的方法及参数的写法
- 对Android发展的一些思考
- 2012年中国县级市面积排行(截止到2012年7月31日) (zz.IS2120@BG57IV3)