해당 함수는 Local Com에서 사용자가 원하는 Port가 열려있는지 상태를 체크한다.
bool cSessionEx::ServerPortOpneCheck(u_short port)
{
bool check = false;
PMIB_TCPTABLE pTable = NULL;
DWORD dwSize = 0;
if (::GetTcpTable(NULL, &dwSize, TRUE) == ERROR_INSUFFICIENT_BUFFER)
{
if (dwSize>0)
{
pTable = new MIB_TCPTABLE[dwSize];
if (::GetTcpTable(pTable, &dwSize, TRUE) !=NO_ERROR)
{
//printf("현재 TCP Port는 Close 상태입니다.\n");
//printf("TCP Port State : Close \n");
check = false;
}
}
if (pTable == NULL)
{
//printf("시스템으로부터 TCP정보를 가져오는데 실패하였습니다.\n");
//printf("Get System TCP Information fail\n");
check = false;
}
else
{
for (DWORD nidx = 0; nidx < pTable->dwNumEntries; nidx++)
{
u_short localPort = ntohs((u_short)pTable->table[nidx].dwLocalPort);
if (port == localPort)
{
//printf("현재 Port 상태는 Open\n");
//printf("TCP Port State : Open \n");
check = true;
break;
}
}
}
}
delete[] pTable;
return check;
}
'Game Programming > C++' 카테고리의 다른 글
| 패턴 - 3. 옵저버 패턴(Observer Pattern) (0) | 2016.09.18 |
|---|---|
| cUrl 사용 push (0) | 2014.06.18 |
| Program Rerun (0) | 2014.06.18 |
| Process Search (0) | 2014.06.18 |
| Process Kill (0) | 2014.06.18 |