topper
1.0.0
Benchmark -Tool: Autocannon HTTP/1.1 Benchmarking -Tool
autocannon -c 20 -a 5000 -m POST --body ' {"numbers": [1, 2, 3, 4, 5, 6, 7, 8, 9]} ' --headers ' Content-Type:Application/json ' http://localhost:9000/sum Stat Avg Stdev Max
Latency (ms) 76.52 22.53 234.85
Req/Sec 250 50.99 320
Bytes/Sec 112 kB 23 kB 144 kB
5k requests in 20s, 2.25 MB read
Stat Avg Stdev Max
Latency (ms) 24.16 6.4 98.45
Req/Sec 714.29 244.42 919
Bytes/Sec 312 kB 107 kB 402 kB
5k requests in 7s, 2.19 MB read
npm install topper const { Server } = require ( 'topper' ) ;
const server = new Server ( '0.0.0.0' , 4000 ) ;
const task = async ( data , socket ) => {
console . log ( `New message!` ) ;
await socket . write ( `Message payload: ${ data } ` ) ;
}
server . task ( task ) ;nc localhost 4000
ˆ
verything is connected, Todd...
Message payload: verything is connected, Todd...node app.js
New task registered on tcp://localhost:4000
New message ! const { Server } = require ( 'topper' ) ;
const server = new Server ( '0.0.0.0' , 4000 ) ;
const task = async ( data , socket ) => {
socket . write ( `hello, my name is ${ data . name } and i'm ${ data . age } oldn` ) ;
}
server . task ( task ) ; nc localhost 4000
{ " name " : " Matheus Fidelis " , " age " :22}
hello, my name is Matheus Fidelis and i ' m 22 old Erstellen Sie einige Arrays mit Aufgabendefinitionen und registrieren Sie sich auf Ihrem Server
const { Server } = require ( './' ) ;
const server = new Server ( '0.0.0.0' , 4000 ) ;
const tasks = [
{
name : 'Ping' ,
task : async ( data , socket ) => await socket . write ( 'Pongn' )
} ,
{
name : 'Sum' ,
task : async ( data , socket ) => {
let sum = data . numbers . reduce ( ( prev , curr ) => prev + curr ) ;
await socket . write ( `The sum is: ${ sum } n` ) ;
}
}
]
server . multiTask ( tasks ) ; echo ' Sum {"numbers": [1, 2, 3, 4, 5]} ' | nc localhost 4000 echo ' Ping ' | nc localhost 4000Ausgabe:
The sum is: 15
Pong
const { Client } = require ( 'topper' ) ;
const client = new Client ( ) ;
client . addServer ( '0.0.0.0' , 4000 ) ;
client . send ( 'Sum' , { numbers : [ 1 , 2 ] } )
. then ( success => console . log ( success . toString ( ) ) ) ;