您的位置:首页 > 编程语言 > C语言/C++

获取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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: