Compare commits

...

11 commits
1.0.0 ... main

Author SHA1 Message Date
yggverse
1129cd1657 fix query format 2024-07-08 05:01:59 +03:00
yggverse
55b4c879e4 add socket active validation 2024-04-27 16:10:49 +03:00
yggverse
7923fea04e update readme 2024-04-27 01:20:49 +03:00
yggverse
1aa260b41d update readme 2024-04-27 01:18:12 +03:00
yggverse
406911794d update readme 2024-04-27 01:15:52 +03:00
yggverse
f80b114f1a update readme 2024-04-27 01:14:05 +03:00
yggverse
6795d37fa8 update readme 2024-04-27 01:11:17 +03:00
yggverse
3f2b2cbc54 update readme 2024-04-27 01:09:45 +03:00
yggverse
52b43a252d fix handler function response 2024-04-25 14:55:13 +03:00
yggverse
9daef40268 update readme 2024-04-24 21:12:06 +03:00
yggverse
9edd764fa7 update composer tags 2024-04-24 21:10:52 +03:00
4 changed files with 38 additions and 10 deletions

View file

@ -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
@ -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;
@ -73,12 +73,15 @@ $server->start(
function (
string $request,
string $connect
) {
): ?string
{
printf(
'connection: %s request: %s',
$connect,
$request
);
return null; // null|string response
}
);
```
@ -88,3 +91,7 @@ $server->start(
Stop server instance.
Same to `Server::setLive(false)`
## Integrations
* [next](https://github.com/YGGverse/next) - PHP 8 Server for NEX Protocol

View file

@ -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",

View file

@ -113,7 +113,10 @@ class Client
sprintf(
"%s%s\r\n",
$this->_path,
$this->_query ? sprintf(
'?%s',
$this->_query
) : null
)
);

View file

@ -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;
}
@ -145,6 +148,14 @@ class Server
$request,
$connect
);
if ($response)
{
fwrite(
$incoming,
$response
);
}
}
fclose(
@ -152,6 +163,13 @@ class Server
);
} while ($this->_live);
if (is_resource($socket))
{
fclose(
$socket
);
}
}
public function stop(): void