You've already forked qlg.tsgz.moe
Init Repo
This commit is contained in:
53
vendor/swoole/examples/event/sockets.php
vendored
Executable file
53
vendor/swoole/examples/event/sockets.php
vendored
Executable file
@ -0,0 +1,53 @@
|
||||
<?php
|
||||
/**
|
||||
* require ./configure --enable-sockets
|
||||
*/
|
||||
|
||||
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("Unable to create socket\n");
|
||||
|
||||
socket_set_nonblock($socket) or die("Unable to set nonblock on socket\n");
|
||||
|
||||
function socket_onRead($socket)
|
||||
{
|
||||
static $i = 0;
|
||||
|
||||
echo socket_read($socket, 8192)."\n";
|
||||
$i ++;
|
||||
if ($i > 10)
|
||||
{
|
||||
echo "finish\n";
|
||||
swoole_event_del($socket);
|
||||
socket_close($socket);
|
||||
}
|
||||
else
|
||||
{
|
||||
sleep(1);
|
||||
swoole_event_set($socket, null, 'socket_onWrite', SWOOLE_EVENT_READ | SWOOLE_EVENT_WRITE);
|
||||
}
|
||||
}
|
||||
|
||||
function socket_onWrite($socket)
|
||||
{
|
||||
socket_write($socket, "hi swoole");
|
||||
swoole_event_set($socket, null, null, SWOOLE_EVENT_READ);
|
||||
}
|
||||
|
||||
function socket_onConnect($socket)
|
||||
{
|
||||
$err = socket_get_option($socket, SOL_SOCKET, SO_ERROR);
|
||||
if ($err == 0)
|
||||
{
|
||||
echo "connect server success\n";
|
||||
swoole_event_set($socket, null, 'socket_onWrite', SWOOLE_EVENT_READ);
|
||||
socket_write($socket, "first package\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "connect server failed\n";
|
||||
swoole_event_del($socket);
|
||||
socket_close($socket);
|
||||
}
|
||||
}
|
||||
|
||||
swoole_event_add($socket, 'socket_onRead', 'socket_onConnect', SWOOLE_EVENT_WRITE);
|
||||
@socket_connect($socket, '127.0.0.1', 9501);
|
Reference in New Issue
Block a user