highperapp / tcp
Enterprise TCP server and client with advanced connection handling, connection pooling, circuit breakers, and Rust FFI acceleration
dev-main
2025-07-15 15:28 UTC
Requires
- php: ^8.3|^8.4
- amphp/parallel: ^2.0
- amphp/socket: ^2.0
- highperapp/zero-downtime: ^1.0
- psr/log: ^3.0
Requires (Dev)
- phpunit/phpunit: ^10.0
- psalm/plugin-phpunit: ^0.18
- vimeo/psalm: ^5.0
Suggests
- ext-libevent: For better event loop performance
- ext-sockets: For enhanced TCP socket performance
- highperapp/monitoring: For TCP server monitoring and metrics
This package is auto-updated.
Last update: 2025-07-15 15:28:47 UTC
README
Enterprise TCP server and client library with advanced connection handling, connection pooling, circuit breakers, and Rust FFI acceleration for maximum performance.
Installation
composer require highperapp/tcp
Quick Start
TCP Server
<?php use HighPerApp\HighPer\TCP\TCPServer; use HighPerApp\HighPer\TCP\Handlers\EnhancedTCPHandler; $server = new TCPServer('0.0.0.0', 8080, [ 'max_connections' => 10000, 'rust_acceleration' => true ]); $handler = new EnhancedTCPHandler(); $server->setHandler($handler); $server->run();
TCP Client
<?php use HighPerApp\HighPer\TCP\Client\TCPClient; $client = new TCPClient(); yield $client->connect('localhost', 8080); yield $client->send('Hello Server!'); $response = yield $client->receive(); echo "Response: {$response}"; $client->close();
TCP Client Pool
<?php use HighPerApp\HighPer\TCP\Client\TCPClientPool; $pool = new TCPClientPool(['max_connections' => 100]); $pool->createPool('api', [ 'host' => 'api.example.com', 'port' => 8080, 'min_connections' => 5, 'max_connections' => 50 ]); $client = yield $pool->getClient('api'); yield $client->send('API Request'); $response = yield $client->receive(); $pool->releaseClient($client, 'api');
Features
- Enterprise TCP Server: High-performance server with connection management
- TCP Client with Connection Pooling: Efficient client with connection reuse
- Circuit Breaker Pattern: Automatic failure detection and recovery
- Rust FFI Acceleration: Optional high-performance mode with PHP fallback
- Built-in Commands: Interactive command system for TCP connections
- Real-time Statistics: Comprehensive monitoring and metrics
- Zero-Downtime Integration: Seamless deployment updates
- CLI Tools: Command-line utilities for testing and benchmarking
CLI Tools
TCP Server
# Start TCP server composer tcp-server # Or directly php bin/tcp-server.php --host=0.0.0.0 --port=8080
TCP Client
# Send a message composer tcp-client -- --host=localhost --port=8080 --message="Hello" # Interactive mode composer tcp-client -- --host=localhost --port=8080 --interactive # Connection pool mode composer tcp-client -- --host=localhost --port=8080 --pool --pool-size=10 --interactive # Benchmark test composer tcp-client -- --host=localhost --port=8080 --benchmark --connections=100 --requests=1000
Requirements
- PHP 8.3+
- AMPHP v3+
- HighPerApp Zero-Downtime v3.0+
License
MIT