You've already forked qlg.tsgz.moe
Init Repo
This commit is contained in:
75
vendor/swoole/tests/swoole_server_port/swoole_server_port.phpt
vendored
Executable file
75
vendor/swoole/tests/swoole_server_port/swoole_server_port.phpt
vendored
Executable file
@ -0,0 +1,75 @@
|
||||
--TEST--
|
||||
swoole_server: swoole server port
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--INI--
|
||||
assert.active=1
|
||||
assert.warning=1
|
||||
assert.bail=0
|
||||
assert.quiet_eval=0
|
||||
|
||||
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
|
||||
/**
|
||||
|
||||
* Time: 下午4:34
|
||||
*/
|
||||
require_once __DIR__ . '/../include/swoole.inc';
|
||||
|
||||
$simple_tcp_server = __DIR__ . "/../include/api/swoole_server/multi_protocol_server.php";
|
||||
|
||||
$port = get_one_free_port();
|
||||
$port1 = get_one_free_port();
|
||||
$port2 = get_one_free_port();
|
||||
|
||||
start_server($simple_tcp_server, TCP_SERVER_HOST, $port, "/dev/null", $port1, $port2);
|
||||
|
||||
suicide(2000);
|
||||
usleep(500 * 1000);
|
||||
|
||||
|
||||
$tokens = [1,1,1];
|
||||
function checkDone()
|
||||
{
|
||||
global $tokens;
|
||||
array_pop($tokens);
|
||||
|
||||
if (empty($tokens)) {
|
||||
echo "SUCCESS";
|
||||
swoole_event_exit();
|
||||
}
|
||||
}
|
||||
|
||||
makeTcpClient(TCP_SERVER_HOST, $port, function(\swoole_client $cli) use($port) {
|
||||
$r = $cli->send("$port\r\n");
|
||||
assert($r !== false);
|
||||
}, function(\swoole_client $cli, $recv) use($port) {
|
||||
list($op, $data) = opcode_decode($recv);
|
||||
assert(intval($data) === $port);
|
||||
checkDone();
|
||||
});
|
||||
|
||||
makeTcpClient(TCP_SERVER_HOST, $port1, function(\swoole_client $cli) use($port1) {
|
||||
$r = $cli->send("$port1\r");
|
||||
assert($r !== false);
|
||||
}, function(\swoole_client $cli, $recv) use($port1) {
|
||||
list($op, $data) = opcode_decode($recv);
|
||||
assert(intval($data) === $port1);
|
||||
checkDone();
|
||||
});
|
||||
|
||||
makeTcpClient(TCP_SERVER_HOST, $port2, function(\swoole_client $cli) use($port2) {
|
||||
$r = $cli->send("$port2\n");
|
||||
assert($r !== false);
|
||||
}, function(\swoole_client $cli, $recv) use($port2) {
|
||||
list($op, $data) = opcode_decode($recv);
|
||||
assert(intval($data) === $port2);
|
||||
checkDone();
|
||||
});
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
SUCCESS
|
71
vendor/swoole/tests/swoole_server_port/tcp_eof.phpt
vendored
Executable file
71
vendor/swoole/tests/swoole_server_port/tcp_eof.phpt
vendored
Executable file
@ -0,0 +1,71 @@
|
||||
--TEST--
|
||||
swoole_server_port: tcp port with eof
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
require_once __DIR__ . '/../include/swoole.inc';
|
||||
require_once __DIR__ . '/../include/lib/curl.php';
|
||||
|
||||
$pm = new ProcessManager;
|
||||
ini_set("swoole.display_errors", "Off");
|
||||
$pm->parentFunc = function ($pid)
|
||||
{
|
||||
$cli = new Swoole\Client(SWOOLE_SOCK_TCP);
|
||||
$cli->set(['open_eof_check' => true, "package_eof" => "\r\n\r\n"]);
|
||||
if (!$cli->connect('127.0.0.1', 9502, 0.5))
|
||||
{
|
||||
fail:
|
||||
echo "ERROR\n";
|
||||
return;
|
||||
}
|
||||
//no eof, should be timeout here
|
||||
if (!$cli->send("hello\r\n\r\n"))
|
||||
{
|
||||
goto fail;
|
||||
}
|
||||
$ret = $cli->recv();
|
||||
if (!$ret)
|
||||
{
|
||||
goto fail;
|
||||
}
|
||||
echo "OK\n";
|
||||
swoole_process::kill($pid);
|
||||
};
|
||||
|
||||
$pm->childFunc = function () use ($pm)
|
||||
{
|
||||
$http = new swoole_http_server("127.0.0.1", 9501, SWOOLE_BASE);
|
||||
|
||||
$port2 = $http->listen('127.0.0.1', 9502, SWOOLE_SOCK_TCP);
|
||||
$port2->set(['open_eof_check' => true, "package_eof" => "\r\n\r\n"]);
|
||||
|
||||
$port2->on('Receive', function ($serv, $fd, $rid, $data)
|
||||
{
|
||||
$serv->send($fd, "Swoole: $data\r\n\r\n");
|
||||
});
|
||||
|
||||
$http->set(array(
|
||||
//'log_file' => '/dev/null'
|
||||
));
|
||||
$http->on("WorkerStart", function (\swoole_server $serv)
|
||||
{
|
||||
/**
|
||||
* @var $pm ProcessManager
|
||||
*/
|
||||
global $pm;
|
||||
$pm->wakeup();
|
||||
});
|
||||
$http->on('request', function (swoole_http_request $request, swoole_http_response $response)
|
||||
{
|
||||
$response->end("OK\n");
|
||||
});
|
||||
$http->start();
|
||||
};
|
||||
|
||||
$pm->childFirst();
|
||||
$pm->run();
|
||||
?>
|
||||
--EXPECT--
|
||||
OK
|
Reference in New Issue
Block a user