我试图通过TCP套接字连接连接到小型服务器(代理),HiveMQ . 当我通过cmd ping服务器时,我收到消息:
TCP 0.0.0.0:1883 0.0.0.0:0 LISTENING
C中的连接代码如下:
addr.sin_family = SL_AF_INET; addr.sin_port = sl_Htons(1883); addr.sin_addr.s_addr = sl_Htonl("0.0.0.0");
我收到这个错误:
Error [-111] at line [926] in function [ConnectionToHiveMq]
这表示我的套接字连接出错:
rc = sl_Connect(mysock, (SlSockAddr_t *) &addr, sizeof(addr));
有人可以帮我弄这个吗?我尝试过很多不同的端口号和IP:但是仍然无法正常工作 . 如果我连接到Web上的应用程序客户端,我可以使用此代码订阅消息 . 但是当我使用我的lokal(经纪人)服务器时,它会...
1 回答
netstat(8)输出
TCP 0.0.0.0:1883 0.0.0.0:0 LISTENING
中的0.0.0.0:1883
只表示服务器正在该框上所有可用接口上侦听端口1883 . 您仍需要一个有效的IP地址来连接它(如192.168.0.1
),这将是其中一个接口的地址(请参阅ifconfig(8)),如果您在同一台机器上,则需要127.0.0.1
用于环回接口 .此外,您的代码行
addr.sin_addr.s_addr = sl_Htonl("0.0.0.0");
是完全错误的 . 您需要将IP地址的字符串表示形式转换为整数形式,例如inet_pton(3) .