windows - 连接(): WSAECONNREFUSED on connect

标签 windows sockets

我正在尝试使用 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;
}

谢谢。

最佳答案

通常 ECONNREFUSED 表示您尝试连接的计算机拒绝接受连接。通常的原因是目标计算机上没有监听指定端口的程序。

您可以通过从 DOS 提示符运行 telnet 到同一主机和端口来确认是这种情况,例如:

远程登录 192.168.1.99 1234

(当然,用适当的 IP 地址和端口号替换上面的示例参数)。如果 telnet 立即退出并显示“连接被拒绝”方法,那么您就知道问题出在远程计算机上。如果它已连接并保持连接状态,则问题更有可能出在您本地计算机的程序上。

关于windows - 连接(): WSAECONNREFUSED on connect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21254677/

相关文章:

python - Socket.IO 与 Twisted

android - 如何在android中执行多个重复任务

java - Java 中的事件传递库?

c++ - 俄语(或非拉丁语)文件名加载 Qt Windows

java - 如何在关闭后再次打开服务器套接字?

node.js - 重新连接到NodeJS上的TCP/IP套接字

windows - 由于证书服务器证书未使用 HTTP.SYS 正确配置而导致的 SSL 定期崩溃

windows - 通缉 : WinAPI calls logger

Python 在 Windows 上的 os.listdir 行为

c++ - 我的 Windows 机器上的所有 QT 应用程序都有乱码 GUI