我正在尝试使用connect api连接到设备。它给了我WSAECONNREFUSED错误。当我连接了两个设备并尝试连接其中一个设备时,就会发生这种情况。如果我只连接一个设备,那么connectino连接正常。
你们谁能让我知道这里的问题。
下面是我的代码:
sockaddr_in my_addr;
my_addr.sin_family = (USHORT)AF_INET ;
my_addr.sin_port = htons((USHORT)host_port);
memset(&(my_addr.sin_zero), 0, (size_t)8);
my_addr.sin_addr.s_addr = inet_addr(pHostName);
if (connect( (SOCKET)*uiSocket, (struct sockaddr*)&my_addr,
sizeof(my_addr)) == SOCKET_ERROR )
{
int err = WSAGetLastError();
fprintf(stderr, "Error connecting socket %d\n", WSAGetLastError());
closeCxn();
return false;
}谢谢。
发布于 2014-01-21 23:59:39
通常,ECONNREFUSED表示您尝试连接的计算机拒绝接受连接。通常的原因是没有程序监听目标计算机上的指定端口。
您可以通过从DOS提示符向相同的主机和端口运行telnet来确认这一点,例如:
telnet 192.168.1.99 1234
(当然,将上面的示例参数替换为适当的IP地址和端口号)。如果telnet以“连接被拒绝”的方式立即退出,那么您就知道问题出在远程计算机上。如果它已连接并保持连接,则问题更可能出在本地计算机的程序上。
https://stackoverflow.com/questions/21254677
复制相似问题