From 9edd764fa74baa6df500d9e2ac44362ac6b678bb Mon Sep 17 00:00:00 2001 From: yggverse Date: Wed, 24 Apr 2024 21:10:52 +0300 Subject: [PATCH 01/11] update composer tags --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 24a9a02..5b140e7 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "yggverse/nex", "description": "PHP 8 Library for Nex Protocol", - "keywords": [ "yggverse", "nex", "nex-protocol", "client" ], + "keywords": [ "yggverse", "nex", "nex-protocol", "client", "server" ], "homepage": "https://github.com/yggverse/nex-php", "type": "library", "license": "MIT", From 9daef402681fcb49d33889e42832dfc99d6a23ee Mon Sep 17 00:00:00 2001 From: yggverse Date: Wed, 24 Apr 2024 21:12:06 +0300 Subject: [PATCH 02/11] update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f40c0ac..f4df70a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # nex-php -PHP 8 Library for Nex Protocol +PHP 8 Library for Nex Protocol (see also [nps-php](https://github.com/YGGverse/nps-php)) ## Usage From 52b43a252d24cf9741b97c779c4ea0434c9e0e1b Mon Sep 17 00:00:00 2001 From: yggverse Date: Thu, 25 Apr 2024 14:55:13 +0300 Subject: [PATCH 03/11] fix handler function response --- README.md | 5 ++++- src/Server.php | 8 ++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f4df70a..24a79e5 100644 --- a/README.md +++ b/README.md @@ -73,12 +73,15 @@ $server->start( function ( string $request, string $connect - ) { + ): ?string + { printf( 'connection: %s request: %s', $connect, $request ); + + return null; // null|string response } ); ``` diff --git a/src/Server.php b/src/Server.php index f6f875b..a347b27 100644 --- a/src/Server.php +++ b/src/Server.php @@ -145,6 +145,14 @@ class Server $request, $connect ); + + if ($response) + { + fwrite( + $incoming, + $response + ); + } } fclose( From 3f2b2cbc548dfbdde584fd849e53ad3f35e5f2bc Mon Sep 17 00:00:00 2001 From: yggverse Date: Sat, 27 Apr 2024 01:09:45 +0300 Subject: [PATCH 04/11] update readme --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 24a79e5..7b56f4b 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,8 @@ composer require yggverse/nex PHP interface for Nex protocol queries +### Documentation + ``` php $client = new \Yggverse\Nex\Client; ``` @@ -43,6 +45,12 @@ var_dump( Build interactive server instance to listen Nex protocol connections! +### Example + +* [next](https://github.com/YGGverse/next) - PHP 8 Server for Nex Protocol + +### Documentation + ``` php $server = new \Yggverse\Nex\Server; ``` From 6795d37fa81b90bfc03c4ddcaeebe86879e8c62c Mon Sep 17 00:00:00 2001 From: yggverse Date: Sat, 27 Apr 2024 01:11:17 +0300 Subject: [PATCH 05/11] update readme --- README.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/README.md b/README.md index 7b56f4b..c9f1e2b 100644 --- a/README.md +++ b/README.md @@ -12,8 +12,6 @@ composer require yggverse/nex PHP interface for Nex protocol queries -### Documentation - ``` php $client = new \Yggverse\Nex\Client; ``` @@ -45,12 +43,8 @@ var_dump( Build interactive server instance to listen Nex protocol connections! -### Example - * [next](https://github.com/YGGverse/next) - PHP 8 Server for Nex Protocol -### Documentation - ``` php $server = new \Yggverse\Nex\Server; ``` From f80b114f1ad08defc192e826abaf7838676d579c Mon Sep 17 00:00:00 2001 From: yggverse Date: Sat, 27 Apr 2024 01:14:05 +0300 Subject: [PATCH 06/11] update readme --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c9f1e2b..9cbfa13 100644 --- a/README.md +++ b/README.md @@ -43,8 +43,6 @@ var_dump( Build interactive server instance to listen Nex protocol connections! -* [next](https://github.com/YGGverse/next) - PHP 8 Server for Nex Protocol - ``` php $server = new \Yggverse\Nex\Server; ``` @@ -93,3 +91,7 @@ $server->start( Stop server instance. Same to `Server::setLive(false)` + +### Examples + +* [next](https://github.com/YGGverse/next) - PHP 8 Server for Nex Protocol \ No newline at end of file From 406911794d27b9aaf470f955fac9bf62488a330d Mon Sep 17 00:00:00 2001 From: yggverse Date: Sat, 27 Apr 2024 01:15:52 +0300 Subject: [PATCH 07/11] update readme --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 9cbfa13..c227dd7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # nex-php -PHP 8 Library for Nex Protocol (see also [nps-php](https://github.com/YGGverse/nps-php)) +PHP 8 Library for NEX Protocol (see also [nps-php](https://github.com/YGGverse/nps-php)) ## Usage @@ -10,7 +10,7 @@ composer require yggverse/nex ## Client -PHP interface for Nex protocol queries +PHP interface for NEX protocol queries ``` php $client = new \Yggverse\Nex\Client; @@ -41,7 +41,7 @@ var_dump( ## Server -Build interactive server instance to listen Nex protocol connections! +Build interactive server instance to listen NEX protocol connections! ``` php $server = new \Yggverse\Nex\Server; @@ -94,4 +94,4 @@ Same to `Server::setLive(false)` ### Examples -* [next](https://github.com/YGGverse/next) - PHP 8 Server for Nex Protocol \ No newline at end of file +* [next](https://github.com/YGGverse/next) - PHP 8 Server for NEX Protocol \ No newline at end of file From 1aa260b41dc42a9a7fa186e5c3d7fe7b02e660f3 Mon Sep 17 00:00:00 2001 From: yggverse Date: Sat, 27 Apr 2024 01:18:12 +0300 Subject: [PATCH 08/11] update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c227dd7..be6eb42 100644 --- a/README.md +++ b/README.md @@ -92,6 +92,6 @@ Stop server instance. Same to `Server::setLive(false)` -### Examples +### Integrations * [next](https://github.com/YGGverse/next) - PHP 8 Server for NEX Protocol \ No newline at end of file From 7923fea04e324afd34177af9b15441068d8cdbf8 Mon Sep 17 00:00:00 2001 From: yggverse Date: Sat, 27 Apr 2024 01:20:49 +0300 Subject: [PATCH 09/11] update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index be6eb42..23d49dc 100644 --- a/README.md +++ b/README.md @@ -92,6 +92,6 @@ Stop server instance. Same to `Server::setLive(false)` -### Integrations +## Integrations * [next](https://github.com/YGGverse/next) - PHP 8 Server for NEX Protocol \ No newline at end of file From 55b4c879e4953386c4ed9cfc73c43c11510a4bac Mon Sep 17 00:00:00 2001 From: yggverse Date: Sat, 27 Apr 2024 16:10:49 +0300 Subject: [PATCH 10/11] add socket active validation --- src/Server.php | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/Server.php b/src/Server.php index a347b27..d46be74 100644 --- a/src/Server.php +++ b/src/Server.php @@ -108,14 +108,17 @@ class Server STREAM_SERVER_BIND | STREAM_SERVER_LISTEN ); + if ($this->_live) + { + $this->_live = is_resource( + $socket + ); + } + do { if (!$this->_live) { - fclose( - $socket - ); - break; } @@ -160,6 +163,13 @@ class Server ); } while ($this->_live); + + if (is_resource($socket)) + { + fclose( + $socket + ); + } } public function stop(): void From 1129cd16570b033cbdccb2c3c333598ef9cbd7a1 Mon Sep 17 00:00:00 2001 From: yggverse Date: Mon, 8 Jul 2024 05:01:59 +0300 Subject: [PATCH 11/11] fix query format --- src/Client.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Client.php b/src/Client.php index 45360f2..c121c49 100644 --- a/src/Client.php +++ b/src/Client.php @@ -113,7 +113,10 @@ class Client sprintf( "%s%s\r\n", $this->_path, - $this->_query + $this->_query ? sprintf( + '?%s', + $this->_query + ) : null ) );