使用 swoole (websocket)的一些经验和坑

一、注意长连接的(redis、mysql)失效问题

        报错:

            1、使用redis报错:read error on connection

            2、使用ping报错:socket error on read socket

 

        解决方案:

           1、ping

           2、tcp-keep-live

           3、连接重试

 

二、fd建立和销毁

 

        维护fd:

        

            问题:onClose离开的时候销毁掉,不然如果在其他房间的话,会造成串房间。

        

            1、获取创建的所有房间id

            2、根据房间id获取房间的 所有 fd  

            3、用户id和fd绑定

 

三、发送数据

        1、使用 exists 方法判断连接是否存在,防止过多的无用log记录。

        2、在 push 可以加入 @push 防止连接失效发送失败问题。

 

四、log_level 等级 设置 为 SWOOLE_LOG_WANING 

 

五、log_file 记录日志

 

六:使用 systemctl 进行守护进程管理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值