获取Socket的本地IP端口和远程IP端口的方法(C++)
2011-07-20 15:36
609 查看
struct sockaddr addr;
struct sockaddr_in* addr_v4;
int addr_len = sizeof(addr);//获取local ip and port
ZeroMemory(&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_un.S_addr;
cMonitorInf.nSourcePort = ntohs(addr_v4->sin_port);
}
}
//获取remote ip and port
ZeroMemory(&addr, sizeof(addr));
if (0 == getpeername(s, &addr, &addr_len))
{
if (addr.sa_family == AF_INET)
{
addr_v4 = (sockaddr_in*)&addr;
cMonitorInf.nDesIP = addr_v4->sin_addr.S_un.S_addr;
cMonitorInf.nDesPort = ntohs(addr_v4->sin_port);
}
}转自:http://bbs.sciencenet.cn/home.php?mod=space&uid=433431&do=blog&id=329335
struct sockaddr_in* addr_v4;
int addr_len = sizeof(addr);//获取local ip and port
ZeroMemory(&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_un.S_addr;
cMonitorInf.nSourcePort = ntohs(addr_v4->sin_port);
}
}
//获取remote ip and port
ZeroMemory(&addr, sizeof(addr));
if (0 == getpeername(s, &addr, &addr_len))
{
if (addr.sa_family == AF_INET)
{
addr_v4 = (sockaddr_in*)&addr;
cMonitorInf.nDesIP = addr_v4->sin_addr.S_un.S_addr;
cMonitorInf.nDesPort = ntohs(addr_v4->sin_port);
}
}转自:http://bbs.sciencenet.cn/home.php?mod=space&uid=433431&do=blog&id=329335
相关文章推荐
- 获取socket的本地ip端口和远程ip端口的方法 c++
- 获取socket远程和本地IP端口
- 使用ACE_SOCK_SEQPACK_Association获取socket连接的本地及远程IP端口信息
- 两种socket获取本机IP地址方法及获取ip对应网卡
- Android-->最全获取本地IP的方法(Wifi/以太网/3G)
- php获取本地ip的多种方法
- Python实现获取本地及远程图片大小的方法示例
- (轉)用C#编写获取远程IP,MAC的方法
- 用C#编写获取远程IP,MAC的方法
- 共享一个获取本地信息IP,MAC的头文件及其实现方法(更新)
- 用C#编写获取远程IP,MAC的方法
- c++获取本地ip
- php程序获取远程图片进行下载到本地方法的总结
- C++获取本地计算机主机名和IP
- 修改远程桌面端口,限制IP访问方法
- Android系统下获取本地IP和mac地址的方法
- C#编程之 如何获取本地和远程主机的IP及MAC地址(转)
- Java获取本地服务器Ip的方法
- C++实现获取IP、子网掩码、网关、DNS等本机网络参数的方法
- 用C#编写获取远程IP,MAC的方法