telnet 连接停止 websocket 服务器

Posted

技术标签:

【中文标题】telnet 连接停止 websocket 服务器【英文标题】:telnet connection stalls websocket server 【发布时间】:2016-11-18 21:14:49 【问题描述】:

我有一个 websocket 服务器,它偶尔会在传入连接上停止。我可以通过telnet server.tld 8080 连接而不输入任何内容来重现此行为。

当我通过 telnet 建立连接但不键入任何内容时,服务器会检测到传入连接,但 stream_socket_accept() 呼叫将停止一分钟。正好60秒。每次。

使这种情况变得更糟的是stream_socket_accept() 完全忽略了超时变量和default_socket_timeout

我能做些什么来中止停顿?

【问题讨论】:

【参考方案1】:

default_socket_timeout 被忽略,因为套接字服务器作为 php-cli 运行。所以加载的 php.ini 文件与 php 的 apache 模块版本不同。我不知道这个。虽然stream_socket_accept不能正常工作,但ini_set('default_socket_timeout',$timeInSeconds);可以强制超时

【讨论】:

以上是关于telnet 连接停止 websocket 服务器的主要内容,如果未能解决你的问题,请参考以下文章

亚马逊ec2上的Websockets连接失败

WebSocket单工流 - 客户端如何关闭连接?

如何配置graphql-flutter和apollo sever以使应用程序停止与websocket断开连接

开启 Spring Security 时创建 WebSocket 连接失败

免费远程软件 服务器群控

如何在不停止反应器的情况下停止 websocket 客户端