首页
下载
文档
社区
视频
捐赠
源代码
赞助商
AOT 编译器
AI 助理
商业产品
PHP AOT 原生编译器
Swoole-Compiler 代码加密器
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?
发布于9年前 · 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
回复