现在有一个需求,开发语言PHP,在线等大佬提供思路:
服务端开启一个tcp服务,多个客户端来连接,客户端ip和端口不确定,所以需要服务端保存客户端socket资源,供其他进程使用。
现在有一个需求,开发语言PHP,在线等大佬提供思路:
服务端开启一个tcp服务,多个客户端来连接,客户端ip和端口不确定,所以需要服务端保存客户端socket资源,供其他进程使用。
你可以使用IPC通信方式解决,当然有兴趣的话可以看看这个https://edu.51cto.com/course/25614.html和https://edu.51cto.com/course/26196.html,看完就能手撸一个workerman,自然也知道怎么解决了
我正好在做,直接和你说解决方案吧。
首先链接是有状态的,与server绑定。在链接成功后将 (hostname+fd)存储进入数据库,并且本机保存该fd的状态。
服务端对该链接的操作都发送给队列,需要带上元信息(hostname+fd),队列采用广播形式,各个消费者接受到消息以后,比对自己的hostname是否一致,一致情况下才会对该FD进行操作。
这个重点就在利用队列将无状态的接口请求,通过广播形式传送到socket的server进行下一步操作。
13 回答2.1k 阅读
7 回答1.3k 阅读
4 回答1.5k 阅读✓ 已解决
2 回答1.6k 阅读✓ 已解决
1 回答1.5k 阅读✓ 已解决
4 回答1.4k 阅读
1 回答748 阅读✓ 已解决
描述来看建议使用websocket,可以考虑使用基于workerman的GatewayWorker