mirror of https://github.com/YGGverse/nps-php.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.8 KiB
1.8 KiB
nps-php
PHP 8 / Composer Library for NPS Protocol
Like Titan for Gemini, NPS is the satellite for NEX protocol (see also nex-php)
it listen for single dot in line to signal the package ending.
Specification
nex://nightfall.city/nps/
Usage
composer require yggverse/nps
Server
Build interactive server instance to listen NPS protocol connections!
$server = new \Yggverse\Nps\Server;
Provide optional host
, port
and size
arguments in constructor or use available setters after object initiation.
$server = new \Yggverse\Nps\Server('127.0.0.1', 1915);
Server::setHost
Server::getHost
Server::setPort
Server::getPort
Server::setSize
Server::getSize
Server::setLive
Server::getLive
Server::start
Run server object using this method.
Define handler function as the argument to process application logic dependent of client request.
$server->start(
function (
string $content,
string $request,
string $connect
) {
printf(
'connection: %s request: %s',
$connect,
$request
);
var_dump(
$content
);
}
);
Server::stop
Stop server instance.
Same to Server::setLive(false)
Testing
nc 127.0.0.1 1915
- connect server usingnc
test
- enter the target pathYOUR MESSAGE GOES HERE
- enter the message text.
- commit package with dot
To send any file:
test
╦ ╦╔═╗╔═╗╔╦╗╦═╗╔═╗╔═╗╦╦
╚╦╝║ ╦║ ╦ ║║╠╦╝╠═╣╚═╗║║
╩ ╚═╝╚═╝═╩╝╩╚═╩ ╩╚═╝╩╩═╝
.
cat file.txt | nc 127.0.0.1 1915