lizhichao / one

A minimalist high-performance php framework that supports the [swoole | php-fpm] environment
Apache License 2.0
884 stars 127 forks source link

one/src/Swoole/Listener/Port.php 请问这个文件作用是什么 #10

Closed jixm closed 5 years ago

jixm commented 5 years ago

您好,对这个文件的作用没有弄明白,尤其里面的send()方法什么时候会调用呢

jixm commented 5 years ago

我用了这个配置文件的例子

return [
    'server' => [
        'server_type' =>\One\Swoole\OneServer::SWOOLE_WEBSOCKET_SERVER, // webSocket带路由
        'port' => 8082,
        'action' => \App\Test\WebSocket\WsPort::class,
        'mode' => SWOOLE_PROCESS,
        'sock_type' => SWOOLE_SOCK_TCP,
        'ip' => '0.0.0.0',
        'set' => [
        ],
    ],
    'add_listener' => [
        [
            'port' => 8081,
            'action' => \App\Server\AppHttpPort::class,
            'type' => SWOOLE_SOCK_TCP,
            'ip' => '0.0.0.0',
            'set' => [
                'open_http_protocol' => true,
                'open_websocket_protocol' => false
            ]
        ]
    ]
];
lizhichao commented 5 years ago

是tcp server 的 send ,主要功能是 : 自定义协议数据打包 + Swoole\Server:;send

jixm commented 5 years ago

自定义协议数据打包 + Swoole\Server:;send

可能我理解的不好 One\Swoole\Server也有send() 是不是继承这个Server就好了 ,我看了你的例子 貌似都是add_listener的才会继承port,, 原谅我小白

lizhichao commented 5 years ago

主要是为了上层的统一 server只有一个 port可以有很多 port的方法属性也没有server那么全面

jixm commented 5 years ago

主要是为了上层的统一 server只有一个 port可以有很多 port的方法属性也没有server那么全面

我大概明白了 非常感谢