我已经为一个服务实现了socket.io,然后删除了它。但是,我仍然有客户机向endpoint/socket.io发出初始连接请求,而endpoint/socket.io已经不存在了。使用各种http状态代码进行响应似乎并不重要。
是否有方法阻止客户端尝试连接?我每分钟收到几千个请求。
看起来您从服务器上删除了一个服务端点(socket.io端点),而没有首先更新您的客户机。
恕我直言,那是个错误。这是一个常见的错误;同步升级服务器和客户端是困难的。通常我们不赞成使用特性:为了向后兼容,我们将它们留在服务器中,直到所有客户端停止使用它们。
我猜当socket.io连接尝试失败时,您的客户机代码会重试这些尝试。所以你的服务器被重试轰炸了。您的直接修复方法是放回socket.io端点,以便连接尝试成功。那将摆脱大量的重试。在接受这些socket.io连接之后,您不必对它们做任何操作。
然后,您需要弄清楚如何更新字段中的客户端代码,以停止使用您不推荐使用的socket.io服务器特性。
最好的方法是修改客户端以禁用socket.io代码。除此之外,socket.io没有一个特殊的“halt and catch fire”信号,您可以发送给客户机以防止他们再次尝试。
如果由于某种原因,您无法更新客户端,您应该在更高层阻止路径--这取决于您的应用程序的部署方式,这可能是云负载均衡器、Web应用程序防火墙,也可能是haproxy实例。
我正在做一个正在改造/现代化的项目,其中有一个小的RMI部分,不幸的是,我以前从未与RMI合作过。 我不明白的一件事是,为什么在我最初创建RMI客户端之后,它一直调用其自定义SocketFactory构造函数。似乎每5分钟我就会看到一次调用构造函数的输出,即使客户端和服务器之间没有通信。 连接完成后,我应该做什么来清理和停止任何线程以进行持久化? 我在检查UnicastRemoteObject,也
问题内容: 是否有适用于Java的Socket.IO客户端?到目前为止,我只找到了仅适用于JavaScript的官方Socket.IO客户端和仅作为服务器的socket.io- java。 问题答案: 目前的选项有限: http://code.google.com/p/weberknecht/ https://github.com/TooTallNate/Java-WebSocket https:
Socket.IO 的开源 iOS 客户端,使用 swift 编写。 演示视频:http://fat.gfycat.com/EssentialBlueElectriceel.webm 使用示例: import Foundationlet socket = SocketIOClient(socketURL: "localhost:8880")socket.on("important message"
所以我有一个使用 socket.io 和 expressjs 的 nodejs 应用程序 我使用端口“3000”作为Express应用程序,使用端口“8080”作为套接字应用程序 > 这两种服务是否可以使用相同的端口?(express和socket.io) 当我想从客户端连接到套接字时,我使用以下代码: http://localhost:8080套接字 什么是连接到它的正确方式(我在互联网上的教程
问题内容: 我正在使用Socket.io,并且想知道从客户端到服务器的连接状态。 像这样: 如果连接断开或由于任何原因断开连接,我需要此信息来向用户提供视觉反馈。 问题答案: 您可以检查属性: 它是动态更新的,如果连接丢失,它将设置为,直到客户端再次选择连接为止。很容易检查或类似的东西。 另一个解决方案是捕获事件并自己跟踪状态。
问题内容: 我使用和创建一个实时Web应用程序。我将为用户提供对套接字连接的完全控制,例如手动断开连接和(重新)连接。 在客户端启动时,该功能可以正常运行,但是在使用之后,不会启动新连接。 问题答案: 现在可以使用socket.socket.reconnect() 相关:https : //github.com/LearnBoost/socket.io- client/issues/251