当前位置: 首页 > 知识库问答 >
问题:

GLOOX:“onconnect”不叫Linux Mint 13

施念
2023-03-14

每次都会调用验证函数onTLSConnect(),它返回true。在有问题的计算机上,当使用我们的ejabberd服务器时,连接在此之后没有建立,套接字在大约25秒后自行关闭(并且onDisconnect()被调用...)

所以,我的问题是:是否有一个互联网设置(如防火墙?)这将阻止Gloox终止连接。或者有人经历过类似的问题吗?谢谢!

编辑:我在我的笔记本电脑上做了一个薄荷13 MATE 32bits的VM,同样的问题出现了。我现在可以断定是薄荷里某个地方的虫子。

编辑2:在薄荷64位上运行良好....我在薄荷的bug页面上开了一张票

共有1个答案

狄德泽
2023-03-14

我上周遇到了这个问题,似乎是一个gloox的bug。它发生在32位Linux上。请参阅此https://bugs.launchpad.net/linuxmint/+bug/1071416

事实上,您在服务器上是“在线”的,但您的“存在”状态是未知的。您可以简单地向服务器发送一个“聊天”状态来继续您的工作。

像这样

#ifdef GLOOX_ON_CONNECT_BUG_PATCH
    Poco::Thread::sleep(3000);//Rest3秒,然后连接成功,哎,该死的bug
    this->is_connected = true;
    client->setPresence(Presence::Chat, 0);
#endif
 类似资料:
  • gloox 是一个 C++的类库,用以实现可移植的 Jabber/XMPP 协议。gloox 完全兼容 XMPP RFCs,支持所有的 XMPP 特性,包括 SRV lookups, TLS, SASL, roster management, and privacy lists,同时实现了许多 XEPs 协议内容,可以用来编写 Jabber/XMPP 的客户端软件。

  • 说明: callback Worker::$onConnect 当客户端与Workerman建立连接时(TCP三次握手完成后)触发的回调函数。每个连接只会触发一次onConnect回调。 注意:onConnect事件仅仅代表客户端与Workerman完成了TCP三次握手,这时客户端还没有发来任何数据,此时除了通过$connection->getRemoteIp()获得对方ip,没有其他可以鉴别客

  • 说明: callback Worker::$onConnect 当连接建立时触发的回调函数。每个连接只会触发一次onConnect回调。 回调函数的参数 $connection 连接对象,连接对象的说明见下一节 范例 use WorkermanWorker; require_once __DIR__ . '/Workerman/Autoloader.php'; $worker = new Work

  • 我在调用我的onLeScan时遇到问题。我在开始扫描中放置了一个标签,每次都会被调用。出于某种原因,我的onLeScan永远不会被调用。有人看到我所做的有问题吗?onLeScan应该在开始扫描后立即调用,对吗? 编辑更改了我的onLeScan函数。仍然不起作用,但我认为我正在走向正确的道路。DeviceBeacon是一个只包含方法的类:getName()、getSignal()和getAddres

  • 我将谷歌地图Android API v2集成到我的应用程序中,在谷歌地图中使用标记时出现了奇怪的行为。隐藏InfoWindow后不调用onmarkercliclistener # onMarkerClick(Marker Marker)。它不依赖于我如何显示InfoWindow(既不是marker.showInfoWindow()也不是 不起作用。通过触摸或更改变焦更改相机位置后,它一次工作。我在

  • 说明: void Events::onConnect(string $client_id); 当客户端连接上gateway进程时触发。 参数 $client_id client_id固定为20个字的字符串,用来全局标记一个socket连接,每个客户端连接都会被分配一个全局唯一的client_id。 如果client_id对应的客户端连接断开了,那么这个client_id也就失效了。当这个客户端再次