originphp / socket
OriginPHP Socket
2.0.0
2021-01-04 10:07 UTC
Requires
- php: >=7.3.0
Requires (Dev)
- phpstan/phpstan: ^0.12.64
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-04 18:32:08 UTC
README
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();
您还可以使用 ssl
或 tls
启用加密,您还可以指定版本,例如 sslv2
、sslv23
、sslv3
、tlsv1
、tlsv11
和 tlsv12
。有关加密方法的更多信息,请参阅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 ] ] ]);