yidas / socket
PHP socket
0.1
2024-01-11 10:01 UTC
Requires
None
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Modern PHP Socket class based on native infra (pure PHP, CI, Yii, Laravel support)
DEMONSTRATION
Client
try { $socket = new \yidas\socket\Client([ 'protocol' => 'tcp', 'host' => 'smtp.your.com', 'port' => '25', // 'domain' => AF_INET, ]); } catch (Exception $e) { die("Failed to connect: {$e->getMessage()} (Code: {$e->getCode()})"); } echo $socket->read(); // ... $socket->write('STARTTLS'); echo $socket->read(); $result = $socket->enableCrypto(); // ... $socket->close();
Native function support:
$socket = new \yidas\socket\Client(); try { $socket->stream_socket_client('tcp://smtp.your.com:25', $errorCode, $errorMsg, 15); } catch (Exception $e) { die("Failed to connect: {$e->getMessage()} (Code: {$e->getCode()})"); } $socket->fread(1024); // ... $socket->fwrite('STARTTLS'); echo $socket->fread(1024); $result = $socket->stream_socket_enable_crypto(true, STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT); // ... $socket->fclose();