18,356
社区成员
发帖
与我相关
我的任务
分享
//一种简单的实现:通过绑定端口来判断;
int testPort(unsigned short usPort)
{
long lIpAddrTest = InvalidIp;
unsigned short usPortTest = usPort;
long lSockTest = (long)socket(AF_INET, SOCK_STREAM, 0);
if(0 > lSockTest)
{
return -1;
}
//绑定本地地址
struct sockaddr_in serverAddr;
memset((char *)&serverAddr, 0, (long)sizeof(serverAddr));
serverAddr.sin_family = AF_INET;
serverAddr.sin_addr.s_addr = (unsigned long)lIpAddrTest;
serverAddr.sin_port = htons(usPortTest);
if (0 > bind ((SOCKET)lSockTest, (struct sockaddr *)&serverAddr, sizeof(serverAddr)))
{
(void)CLOSESOCK((UINT)lSockTest);
return -1;
}
(void)CLOSESOCK((UINT)lSockTest);
return 0;
};