首页
下载
文档
问答社区
视频
捐赠
源代码
AI 助理
赞助商
CRMEB
Apipost
腾讯云
微擎
禅道
51Talk
商业产品
Swoole AI 智能文档翻译器
Swoole-Compiler PHP 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
socket->recv() 返回warnning能否关闭掉?
我在用WebSocketClient开发一个客户端,对服务器进行测试的时候, 需求是Client发一个消息,Server当时返回一个Ack消息, 然后Server要匹配合适的玩家以后,再发一个匹配成功的消息给客户端Client. 在等待第2个消息的过程中, Client一直会循环 每次睡1秒 做recv()的读取,结果不断的打印警告信息给终端,干扰测试的正常信息。 Warning: swoole_client::recv(): recv() failed. Error: Resource temporarily unavailable [11] in /usr/local/nginx/LobbyServer_1/WebSocketClient.php on line 86 大约10秒以后,服务器侧发现客户端的链接断掉了。 貌似客户端底层多次出现这种recv错误以后,就会关闭websocket连接. 有什么办法,不要输出这些,或者让底层不要警告? 也不要关闭websocket?
发布于7年前 · 0 次浏览 · 来自
提问
B
Barry
我在用WebSocketClient开发一个客户端,对服务器进行测试的时候, 需求是Client发一个消息,Server当时返回一个Ack消息, 然后Server要匹配合适的玩家以后,再发一个匹配成功的消息给客户端Client. 在等待第2个消息的过程中, Client一直会循环 每次睡1秒 做recv()的读取,结果不断的打印警告信息给终端,干扰测试的正常信息。 Warning: swoole_client::recv(): recv() failed. Error: Resource temporarily unavailable [11] in /usr/local/nginx/LobbyServer_1/WebSocketClient.php on line 86 大约10秒以后,服务器侧发现客户端的链接断掉了。 貌似客户端底层多次出现这种recv错误以后,就会关闭websocket连接. 有什么办法,不要输出这些,或者让底层不要警告? 也不要关闭websocket?
赞
0
分享
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
评论
2017-06-24
s
suixin
通过结合 swoole_client_select 方法,解决了这个问题。 while(true){ // echo "before select."; $listenfd = array(); $listenfd[] = $client->getSocket(); $write = $error = array(); $ret = swoole_client_select($listenfd,$write,$error,1.0); if($ret > 0 )
赞
0
回复
微信公众号
热门内容
暂无回复的问答
- CodeGalaxy K3s 轻量集群节点之间如何实现负载均衡
- 关于openssl CURL WARNING swSSL_connect: SSL_connect(fd=69) failed. Error: error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small[1|394]
- 多个模型如何进行事务异常回退?
- websocket开启wss报错
- 协程tcp服务器如何使用多进程?recv()方法接收信息,打印出来的pid一直是同一个。没用使用到多进程啊。