aysheka / socket
此包最新版本(dev-master)没有可用的许可信息。
dev-master
2014-04-24 12:39 UTC
Requires
- php: >=5.3.2
- symfony/event-dispatcher: 2.*
Requires (Dev)
- ext-pcntl: *
This package is auto-updated.
Last update: 2024-08-29 03:56:48 UTC
README
注意
- 该库仅在TCP、IP4、Stream连接上进行测试
- 你可以在测试目录中找到示例(服务器,客户端)
如何连接到服务器
<?php use Symfony\Component\EventDispatcher\EventDispatcher; use Aysheka\Socket\Client\Client; use Aysheka\Socket\Address\IP4; use Aysheka\Socket\Type\Stream; use Aysheka\Socket\Transport\TCP; $client = new Client('127.0.0.1', 8089, new IP4(), new Stream(), new TCP(), new EventDispatcher()); $client->connect(); $client->close();`
就这样
如何创建服务器
use Aysheka\Socket\Client; use Aysheka\Socket\Type\Stream; use Symfony\Component\EventDispatcher\EventDispatcher; use Aysheka\Socket\Server\Event\NewConnectionEvent; use Aysheka\Socket\Server\Server; use Aysheka\Socket\Address\IP4; use Aysheka\Socket\Transport\TCP; $eventDispatcher = new EventDispatcher(); $eventDispatcher->addListener(NewConnectionEvent::getEventName(), function (NewConnectionEvent $event) { $socket = $event->getSocket(); $socket->write("HELLO I'm test server\n"); // Read bytes from socket if available while ($read = $socket->read()) { echo "Read data: [{$read}]"; $socket->write('Response'); usleep(50); } }); $server = new Server('127.0.0.1', 8089, new IP4(), new Stream(), new TCP(), $eventDispatcher); $server->create();