<pre name="code" class="cpp">// 获取TCP链接四元组
bool GetSocketIpPort(SOCKET s,
string& local_ip,
WORD& local_port,
string& peer_ip,
WORD& peer_port)
{
local_ip = "0.0.0.0";
local_port = 0;
peer_ip = "0.0.0.0";
peer_port = 0;
struct sockaddr_in sa;
int len = sizeof(sa);
if(getsockname(s, (struct sockaddr *)&sa, &len) != 0)
{
return false;
}
local_ip = inet_ntoa(sa.sin_addr);
local_port = htons(sa.sin_port);
if(getpeername(s, (struct sockaddr *)&sa, &len) != 0)
{
return false;
}
peer_ip = inet_ntoa(sa.sin_addr);
peer_port = htons(sa.sin_port);
return true;
}
获取TCP链接的四元组
最新推荐文章于 2024-07-03 22:19:44 发布