You've already forked qlg.tsgz.moe
Init Repo
This commit is contained in:
11
vendor/swoole/tests/include/api/swoole_client/connect_timeout.php
vendored
Executable file
11
vendor/swoole/tests/include/api/swoole_client/connect_timeout.php
vendored
Executable file
@ -0,0 +1,11 @@
|
||||
<?php
|
||||
$cli = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_ASYNC);
|
||||
$cli->on("connect", function(swoole_client $cli) {
|
||||
assert(false);
|
||||
});
|
||||
$cli->on("receive", function(swoole_client $cli, $data) {
|
||||
assert(false);
|
||||
});
|
||||
$cli->on("error", function(swoole_client $cli) { echo "connect timeout\n"; });
|
||||
$cli->on("close", function(swoole_client $cli) { echo "close\n"; });
|
||||
$cli->connect("11.11.11.11", 9000, 0.5);
|
34
vendor/swoole/tests/include/api/swoole_client/connect_twice.php
vendored
Executable file
34
vendor/swoole/tests/include/api/swoole_client/connect_twice.php
vendored
Executable file
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
$start = microtime(true);
|
||||
|
||||
$cli = new \swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_ASYNC);
|
||||
$cli->on("connect", function(swoole_client $cli) {
|
||||
assert(false);
|
||||
});
|
||||
$cli->on("receive", function(swoole_client $cli, $data) {
|
||||
assert(false);
|
||||
});
|
||||
$cli->on("error", function(swoole_client $cli) {
|
||||
echo "error\n";
|
||||
});
|
||||
$cli->on("close", function(swoole_client $cli) {
|
||||
echo "close\n";
|
||||
});
|
||||
|
||||
function refcount($var)
|
||||
{
|
||||
ob_start();
|
||||
debug_zval_dump($var);
|
||||
preg_match('/refcount\((?<refcount>\d)\)/', ob_get_clean(), $matches);
|
||||
return intval($matches["refcount"]) - 3;
|
||||
}
|
||||
|
||||
@$cli->connect("11.11.11.11", 9000, 0.1);
|
||||
@$cli->connect("11.11.11.11", 9000, 0.1);
|
||||
@$cli->connect("11.11.11.11", 9000, 0.1);
|
||||
@$cli->connect("11.11.11.11", 9000, 0.1);
|
||||
@$cli->connect("11.11.11.11", 9000, 0.1);
|
||||
Swoole\Event::wait();
|
||||
// xdebug_debug_zval("cli");
|
||||
// echo refcount($cli); // php7无效
|
48
vendor/swoole/tests/include/api/swoole_client/opcode_client.php
vendored
Executable file
48
vendor/swoole/tests/include/api/swoole_client/opcode_client.php
vendored
Executable file
@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
|
||||
require_once __DIR__ . "/../../../include/bootstrap.php";
|
||||
|
||||
|
||||
|
||||
// suicide(5000);
|
||||
|
||||
$cli = new \swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_ASYNC);
|
||||
|
||||
/** @noinspection PhpVoidFunctionResultUsedInspection */
|
||||
assert($cli->set([
|
||||
'open_length_check' => 1,
|
||||
'package_length_type' => 'N',
|
||||
'package_length_offset' => 0,
|
||||
'package_body_offset' => 0,
|
||||
]));
|
||||
|
||||
$cli->on("connect", function(swoole_client $cli) {
|
||||
swoole_timer_clear($cli->timeo_id);
|
||||
assert($cli->isConnected() === true);
|
||||
|
||||
});
|
||||
|
||||
$cli->on("receive", function(swoole_client $cli, $data){
|
||||
|
||||
$cli->close();
|
||||
assert($cli->isConnected() === false);
|
||||
});
|
||||
|
||||
$cli->on("error", function(swoole_client $cli) {
|
||||
swoole_timer_clear($cli->timeo_id);
|
||||
echo "ERROR";
|
||||
});
|
||||
|
||||
$cli->on("close", function(swoole_client $cli) {
|
||||
swoole_timer_clear($cli->timeo_id);
|
||||
echo "CLOSE";
|
||||
});
|
||||
|
||||
$cli->connect(TCP_SERVER_HOST, TCP_SERVER_PORT);
|
||||
|
||||
$cli->timeo_id = swoole_timer_after(1000, function() use($cli) {
|
||||
debug_log("connect timeout");
|
||||
$cli->close();
|
||||
assert($cli->isConnected() === false);
|
||||
});
|
63
vendor/swoole/tests/include/api/swoole_client/simple_client.php
vendored
Executable file
63
vendor/swoole/tests/include/api/swoole_client/simple_client.php
vendored
Executable file
@ -0,0 +1,63 @@
|
||||
<?php
|
||||
|
||||
|
||||
require_once __DIR__ . "/../../../include/bootstrap.php";
|
||||
|
||||
|
||||
|
||||
suicide(5000);
|
||||
|
||||
|
||||
$cli = new \swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_ASYNC);
|
||||
|
||||
/** @noinspection PhpVoidFunctionResultUsedInspection */
|
||||
assert($cli->set([
|
||||
// TODO test
|
||||
// 'open_eof_check' => true,
|
||||
// 'package_eof' => "\r\n\r\n",
|
||||
|
||||
// TODO
|
||||
// "socket_buffer_size" => 1,
|
||||
]));
|
||||
|
||||
$cli->on("connect", function(swoole_client $cli) {
|
||||
swoole_timer_clear($cli->timeo_id);
|
||||
|
||||
// TODO getSocket BUG
|
||||
// assert(is_resource($cli->getSocket()));
|
||||
/*
|
||||
$cli->getSocket();
|
||||
// Warning: swoole_client_async::getSocket(): unable to obtain socket family Error: Bad file descriptor[9].
|
||||
$cli->getSocket();
|
||||
*/
|
||||
|
||||
|
||||
assert($cli->isConnected() === true);
|
||||
$cli->send(RandStr::gen(1024, RandStr::ALL));
|
||||
// $cli->sendfile(__DIR__.'/test.txt');
|
||||
});
|
||||
|
||||
$cli->on("receive", function(swoole_client $cli, $data){
|
||||
$recv_len = strlen($data);
|
||||
debug_log("receive: len $recv_len");
|
||||
$cli->send(RandStr::gen(1024, RandStr::ALL));
|
||||
$cli->close();
|
||||
assert($cli->isConnected() === false);
|
||||
});
|
||||
|
||||
$cli->on("error", function(swoole_client $cli) {
|
||||
swoole_timer_clear($cli->timeo_id);
|
||||
debug_log("error");
|
||||
});
|
||||
|
||||
$cli->on("close", function(swoole_client $cli) {
|
||||
swoole_timer_clear($cli->timeo_id);
|
||||
debug_log("close");
|
||||
});
|
||||
|
||||
$cli->connect(TCP_SERVER_HOST, TCP_SERVER_PORT);
|
||||
$cli->timeo_id = swoole_timer_after(1000, function() use($cli) {
|
||||
debug_log("connect timeout");
|
||||
$cli->close();
|
||||
assert($cli->isConnected() === false);
|
||||
});
|
48
vendor/swoole/tests/include/api/swoole_client/socket_free.php
vendored
Executable file
48
vendor/swoole/tests/include/api/swoole_client/socket_free.php
vendored
Executable file
@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
// swoole socket 复用BUG
|
||||
|
||||
function onClose(swoole_client $cli) {
|
||||
$fd = \EventUtil::getSocketFd($cli->getSocket());
|
||||
echo "close fd <$fd>\n";
|
||||
}
|
||||
|
||||
function onError(swoole_client $cli) {
|
||||
$fd = \EventUtil::getSocketFd($cli->getSocket());
|
||||
echo "error fd <$fd>\n";
|
||||
}
|
||||
|
||||
$host = "127.0.0.1";
|
||||
$port = 8050;
|
||||
|
||||
$cli = new \swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_ASYNC);
|
||||
$cli->on("receive", function(swoole_client $cli, $data){ });
|
||||
$cli->on("error", "onError");
|
||||
$cli->on("close", "onClose");
|
||||
|
||||
$cli->on("connect", function(swoole_client $cli) use($host, $port) {
|
||||
$fd = \EventUtil::getSocketFd($cli->getSocket());
|
||||
echo "connected fd <$fd>\n";
|
||||
$cli->close(); // close(fd)
|
||||
|
||||
|
||||
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
||||
$newCli = new \swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_ASYNC);
|
||||
$newCli->on("receive", function(swoole_client $cli, $data){ });
|
||||
$newCli->on("error", "onError");
|
||||
$newCli->on("close", "onClose");
|
||||
$newCli->on("connect", function(swoole_client $newCli) use($cli) {
|
||||
$fd = \EventUtil::getSocketFd($cli->getSocket());
|
||||
echo "connected fd <$fd>, reuse!!!\n";
|
||||
|
||||
echo "free socket\n";
|
||||
$cli->__destruct();
|
||||
echo "send\n";
|
||||
$r = $newCli->send("HELLO");
|
||||
});
|
||||
$newCli->connect($host, $port);
|
||||
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
||||
|
||||
});
|
||||
|
||||
$cli->connect($host, $port);
|
Reference in New Issue
Block a user