thruster/socket

Thruster Socket 组件

1.1.0 2016-01-14 16:10 UTC

This package is auto-updated.

Last update: 2024-09-14 02:53:18 UTC


README

[最新版本] (https://github.com/ThrusterIO/socket/releases) [软件许可] (LICENSE) [构建状态] (https://travis-ci.org/ThrusterIO/socket) [代码覆盖率] (https://scrutinizer-ci.com/g/ThrusterIO/socket) [质量评分] (https://scrutinizer-ci.com/g/ThrusterIO/socket) [总下载量] (https://packagist.org.cn/packages/thruster/socket)

[电子邮件] (mailto:team@thruster.io)

Thruster Socket 组件。

用于构建事件驱动socket服务器的库。

socket组件为基于EventLoopStream组件的socket层服务器或客户端提供了一个更易用的接口。

服务器

服务器可以监听一个端口,每当有客户端连接时,都会触发一个 connection 事件。

连接

Connection 是一个可读和可写的 Stream。传入的连接表示连接的服务器端。

它绝不能用于表示客户端环境中的传出连接。如果你想要建立传出连接,请使用 SocketClient 组件。

安装

通过 Composer

$ composer require thruster/socket

用法

这里有一个服务器,如果你向它发送任何内容,它会关闭连接。

$loop = new EventLoop();

$socket = new Server($loop);
$socket->on('connection', function ($conn) {
    $conn->write("Hello world!\n");

    $conn->on('data', function ($data) use ($conn) {
        $conn->close();
    });
});
$socket->listen(1337);

$loop->run();

你可以通过传递给 listen 方法的第二个参数来更改 socket 监听的宿主。

$socket->listen(1337, '192.168.0.1');

测试

$ composer test

贡献

有关详细信息,请参阅 CONTRIBUTINGCONDUCT

许可

有关更多信息,请参阅 许可文件