PHP / Composer Library for NPS Protocol
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

nps-php

PHP 8 / Composer Library for NPS Protocol

Unlike Titan for Gemini, NPS is the satellite for Nex protocol (see also nex-php)
it listen for 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 content: %s',
            $connect,
            $request,
            $content
        );
    }
);

Server::stop

Stop server instance.

Same to Server::setLive(false)

Test

  1. nc 127.0.0.1 1915 - connect server using nc
  2. test - enter the target path
  3. YOUR MESSAGE GOES HERE - enter the message text
  4. . - commit package with dot

To send any file:

test
╦ ╦╔═╗╔═╗╔╦╗╦═╗╔═╗╔═╗╦╦
╚╦╝║ ╦║ ╦ ║║╠╦╝╠═╣╚═╗║║
 ╩ ╚═╝╚═╝═╩╝╩╚═╩ ╩╚═╝╩╩═╝
.

cat file.txt | nc 127.0.0.1 1915