You've already forked qlg.tsgz.moe
Init Repo
This commit is contained in:
21
vendor/swoole/examples/socket_coro/client.php
vendored
Executable file
21
vendor/swoole/examples/socket_coro/client.php
vendored
Executable file
@ -0,0 +1,21 @@
|
||||
<?php
|
||||
$socket = new Co\Socket(AF_INET, SOCK_STREAM, 0);
|
||||
|
||||
go(function () use ($socket) {
|
||||
$retval = $socket->connect('localhost', 9601);
|
||||
while ($retval)
|
||||
{
|
||||
$n = $socket->send("hello");
|
||||
var_dump($n);
|
||||
|
||||
$data = $socket->recv();
|
||||
var_dump($data);
|
||||
|
||||
if (empty($data)) {
|
||||
$socket->close();
|
||||
break;
|
||||
}
|
||||
co::sleep(1.0);
|
||||
}
|
||||
var_dump($retval, $socket->errCode);
|
||||
});
|
27
vendor/swoole/examples/socket_coro/server.php
vendored
Executable file
27
vendor/swoole/examples/socket_coro/server.php
vendored
Executable file
@ -0,0 +1,27 @@
|
||||
<?php
|
||||
$socket = new Co\Socket(AF_INET, SOCK_STREAM, 0);
|
||||
$socket->bind('127.0.0.1', 9601);
|
||||
$socket->listen(128);
|
||||
|
||||
go(function () use ($socket) {
|
||||
while(true) {
|
||||
echo "Accept: \n";
|
||||
$client = $socket->accept();
|
||||
|
||||
echo "New Coroutine: \n";
|
||||
go(function () use ($client) {
|
||||
while(true) {
|
||||
echo "Client Recv: \n";
|
||||
$data = $client->recv();
|
||||
if (empty($data)) {
|
||||
$client->close();
|
||||
break;
|
||||
}
|
||||
var_dump($client->getsockname());
|
||||
var_dump($client->getpeername());
|
||||
echo "Client Send: \n";
|
||||
$client->send("Server: $data");
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
26
vendor/swoole/examples/socket_coro/udp.php
vendored
Executable file
26
vendor/swoole/examples/socket_coro/udp.php
vendored
Executable file
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
//Server
|
||||
go(function () {
|
||||
$socket = new Co\Socket(AF_INET, SOCK_DGRAM, 0);
|
||||
$socket->bind('127.0.0.1', 9601);
|
||||
while (true) {
|
||||
$peer = null;
|
||||
$data = $socket->recvfrom($peer);
|
||||
echo "[Server] recvfrom[{$peer['address']}:{$peer['port']}] : $data\n";
|
||||
$socket->sendto($peer['address'], $peer['port'], "Swoole: $data");
|
||||
}
|
||||
});
|
||||
|
||||
//Client
|
||||
go(function () {
|
||||
$socket = new Co\Socket(AF_INET, SOCK_DGRAM, 0);
|
||||
$i = 0;
|
||||
while (true)
|
||||
{
|
||||
$socket->sendto('127.0.0.1', 9601, "HELO-" . $i++);
|
||||
$peer = null;
|
||||
$data = $socket->recvfrom($peer);
|
||||
echo "[Client] recvfrom[{$peer['address']}:{$peer['port']}] : $data\n";
|
||||
co::sleep(1);
|
||||
}
|
||||
});
|
Reference in New Issue
Block a user