请教关于workerman的搭建相关

eoneliu

大家好,最近需要弄个Socket项目。用的是tp 框架。

没怎么用过socket,我将GatewayWorker 、Workerman 放入 tp框架 (skt.item.com)

目录结构:

app
|--index
|--|--controller
|--|--|--Index.php (Register, BusinessWorker, Gateway
public
|--socket.php (php socket.php start -d)
vendor
|--GatewayWorker
|--Workerman
....

另一个tp框架 项目1 ( a.item.com), 项目2 ( b.item.com)等

目录结构:

app
|--index
|--|--controller
|--|--|--Index.php (GatewayClient)
public
|--index.php
vendor
|--GatewayWorker
|--Workerman
|--GatewayClient

socket.html

<script type="text/javascript">
var ws = new WebSocket("ws://skt.item.com:8282");
....
</script>

我是想实现功能,是不是需要通过 tp 完成,如发消息

1、
ws.send('消息体');

被 skt.item.com 的 onMessage 接收了
2、
$.post('/index/index/send', {'message':'消息体'}, function(d){
//发送消息
}, 'json')

是不是只能用这种方式(效率有无影响)

有不理解的地方:
1、比如多个项目监听端口。是不是需求启动多个不同的 Socket文件 -> Gateway:端口。Register 、 BusinessWorker 分开独立一个文件
2、服务器已安装 Event.so,环境是nginx 1.17,php7.3 。 相对多的并发连接是不是不用修改代码

主要是想实现 多个项目使用 socket,消息处理分开处理
希望大家帮忙解答下。有哪里不合理的设置。谢谢

1536 1 0
1个回答

six

http://doc2.workerman.net/work-with-other-frameworks.html

这里有个文档,估计能帮到你

  • eoneliu 2020-07-01

    非常感谢,代码看过了
    ws.onopen = function() {
    ws.send('hello');
    };
    ws.onopen 之后,直接send 毫秒时间 (10ms)
    0.56872600
    0.57921800
    send接收到 Gateway::sendToAll()
    通过tp框架 接收的时间是(60ms)
    0.57921800
    0.64753000

    并发人多会不会有影响?

年代过于久远,无法发表回答
🔝