现在的位置: 首页 > 综合 > 正文

测试指定udp端口是否可以绑定

2013年08月25日 ⁄ 综合 ⁄ 共 530字 ⁄ 字号 评论关闭
// 测试指定udp端口是否可以绑定,WIN32下记得要先初始化WSAStartup
	bool udpBindTest(uint16_t port)
	{
		SOCKET sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_IP);
		if (sockfd == INVALID_SOCKET)
			return false;

		struct sockaddr_in sockAddr;
		sockAddr.sin_family = AF_INET;
		sockAddr.sin_port = htons(port);
		sockAddr.sin_addr.s_addr = INADDR_ANY;
		if (bind(sockfd, (const sockaddr*)&sockAddr, sizeof(sockAddr)) == SOCKET_ERROR)
		{
#ifdef _WIN32
			printf("bind test error: %d\n", WSAGetLastError());
#else
			printf("bind test error: %d\n", errno);
#endif
			closesocket(sockfd);
			return false;
		}
		else
		{
			closesocket(sockfd);
			return true;
		}
	}

抱歉!评论已关闭.