linux

GatewayClient使用注意一些问题,尤其是服务器部署了多个workerman服务的

76 0

今天在把客服功能上线,发现聊天在服务器上面死活不成功,在本地怎么操作都没问题。情况①绑定用户id的时候发现不成功Gateway::bindUid($client_id, $kefu_id);捣鼓了很久没发现问题,后来终于发现猫腻了,服务器里面有很多套系统有独立的workerman服务,而且这系统默认的就是那些端口,导致注册地址在其它服务中了,绑定就是失败了,解决方案就是修改配置,修改一个...

websocket
javascript

uniapp中websocket关闭失败问题解决,防止一个应用多个websocket实例并清理无彻底

140 0

前端开发websocket的过程是页面初始化后创建了websocket长连接,然后心跳检测,在意外关闭后重重连websocket,离开页面后就对websocket进行销毁,这是很正常的逻辑。然后在开发过程发现一个问题,离开页面后定时器依然在检测心跳,而且离开后会关闭一次然后被重新连接了,这会导致后台推送数据的时候多次重复出现,甚至在多个不同聊天人之间也出现原来的用户聊天推送(在其它端口推送时,后台...

其他

uniapp在线客服样式,离线时留言,用websocket聊天

253 0

它允许服务器主动向客户端发送消息,而无需等待客户端的确认。这种特性使得WebSocket非常适合于实时通讯应用,如在线客服系统。   - 在uniapp中,WebSocket已被封装和处理,开发者可以直接使用提供的API进行开发。使用uniapp框架结合WebSocket技术实现在线客服样式、离线留言以及实时聊天功能是一个复杂的过程,涉及到前端UI设计与后端逻辑处理等多个方面。代码看附...

linux

thinkphp queue队列使用的时候一个服务器有多个队列要注意

196 0

今天遇到一个问题,使用tp队列时发现有部分队列没执行(直接没进入执行函数)问题就是“部分没执行”,监控生产队列的时候redis正常返回id,后来发现是其他项目也有用到队列,而没有给队列加上名称,导致两个都是用一个名称,先后执行不同。解决方案也就很简单了,在执行的时候加上队列名称就行了,新增队列的时候给一个名称或者在queue.php里面配置全局。然后在监控队列的时候指定队列名称就行了(用liste...

linux

composer install/require xxx用指定php版本执行的方式

257 0

如果服务器安装了多个php版本,某些网站需要特定的版本就需要在composer 安装和更新的时候指定版本,不然环境检查会报错,如下这时候指定版本(我用php82执行composer)php82 /usr/bin/composer install然后就正常安装了...