vc tcp端口是否被占用

来源:互联网 发布:马踏棋盘 栈 贪婪算法 编辑:程序博客网 时间:2024/05/01 01:05
//遍历本地tcp端口 是否被占用
bool CiServerCfgDlg::CheckPortIsOccupy(DWORD dwPort)
{
PMIB_TCPTABLE pTcptable;
pTcptable = (MIB_TCPTABLE*)malloc(sizeof(MIB_TCPTABLE));
DWORD dwsize=sizeof(MIB_TCPTABLE);
if (GetTcpTable(pTcptable, &dwsize, 2) == ERROR_INSUFFICIENT_BUFFER)
{
free(pTcptable);
pTcptable = (PMIB_TCPTABLE)malloc(dwsize);
}
if (GetTcpTable(pTcptable, &dwsize, 2) == NO_ERROR)
{
for (int i=0; i<(int)pTcptable->dwNumEntries; i++)
{
DWORD port = ntohs(pTcptable->table[i].dwLocalPort) ;
if (port == dwPort)
{
return true ;
}
}
}
free(pTcptable);
return false;
}
2 0
原创粉丝点击