1

我试图通过 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:s 但仍然无法正常工作。如果我连接到 Web 上的应用程序客户端,它就可以工作,我可以从该代码订阅消息。但是,当我尝试使用我的 lokal(代理)服务器时,它就...

4

1 回答 1

0

输出0.0.0.0:1883中的仅表示服务器正在该框上所有可用接口上的端口 1883 上侦听。不过,您仍然需要一个有效的 IP 地址来连接它(类似于),这将是其中一个接口的地址(请参阅 参考资料),并且如果您在同一台机器上,它用于环回接口。netstat(8)TCP 0.0.0.0:1883 0.0.0.0:0 LISTENING192.168.0.1ifconfig(8)127.0.0.1

此外,您的代码行addr.sin_addr.s_addr = sl_Htonl("0.0.0.0");完全错误。您需要将 IP 地址的字符串表示形式转换为整数形式,例如inet_pton(3).

于 2015-05-06T14:35:27.183 回答