首页 文章

与lokal代理的TCP套接字连接

提问于
浏览
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:但是仍然无法正常工作 . 如果我连接到Web上的应用程序客户端,我可以使用此代码订阅消息 . 但是当我使用我的lokal(经纪人)服务器时,它会...

1 回答

  • 0

    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) .

相关问题