originphp/socket

OriginPHP Socket

2.0.0 2021-01-04 10:07 UTC

This package is auto-updated.

Last update: 2024-09-04 18:32:08 UTC


README

license build coverage

Socket 类是一个轻量级包装器,使使用套接字变得简单。

安装

要安装此包

$ composer require originphp/socket

使用套接字

use Origin\Socket\Socket;
$socket = new Socket([
    'host' => 'localhost',
    'protocol' => 'tcp',
    'port' => 25,
    'timeout' => 30,
    'persistent' => false,
]);

if ($socket->connect()) {
    $socket->write("HELO mydomain.com\r\n");
    $result = $socket->read();
}

$socket->disconnect();

您还可以使用 ssltls 启用加密,您还可以指定版本,例如 sslv2sslv23sslv3tlsv1tlsv11tlsv12。有关加密方法的更多信息,请参阅PHP手册

要启用加密

$socket->enableEncryption('tls');
$socket->enableEncryption('ssl');

要禁用加密

$socket->disableEncryption('tls');
$socket->disableEncryption('ssl');

主机/IP 地址

获取连接的IP地址

$ipAddress = $socket->address();

获取主机名

$hostname = $socket->host();

流上下文

创建套接字时,您还可以提供用于创建 流上下文context 选项。

$socket = new Socket([
    'host' => 'example.com',
    'protocol' => 'tcp',
    'port' => 443,
    'timeout' => 30,
    'persistent' => false,
    'context' => [
        'ssl' => [
            'verify_peer' => false
        ]
    ]
]);