Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including parakeet with all npm packages installed. Try it out:

parakeet lists no main file and has no index.js, so it can't be directly required. If this is a mistake, please let us know. It may however contain internal files that you can require manually:

// require("parakeet/[??]")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

parakeet v1.1.3

Echo server for TCP/UDP/HTTP

Parakeet

License version Build Status

Echo server for TCP/UDP/HTTP

screenshot

Watch the screencast here

About

The common parakeet (Melopsittacus undulatus), is a popular talking-bird species because of their potential for large vocabularies, ease of care and well-socialized demeanor. https://en.wikipedia.org/wiki/Parakeet

parakeet

Message Format

eventformatexample
server start[TIME] ▶️ TYPE LISTEN_IP LISTEN_PORT[03:32:54 AM] ▶️ TCP 127.0.0.1 1338
connection open[TIME] ⚪ REMOTE_IP REMOTE_PORT[03:32:54 AM] ⚪️ TCP 127.0.1.1 1338
connection close[TIME] ⚫️️ REMOTE_IP REMOTE_PORT[03:32:54 AM] ⚫️️️ TCP 127.0.1.1 1338
data recieved[TIME] ✔ REMOTE_IP REMOTE_PORT [BYTES] "MESSAGE"[03:33:00 AM] ✔ (127.0.0.1 57619) [8] "hello!\r\n"
http signature (http only)[TIME] ✔ REMOTE_IP REMOTE_PORT HTTP_VERSION METHOD URL[03:32:33 AM] ✔ (127.0.0.1 49575) HTTP/1.1 POST /
http headers (http only)[TIME] ✔ REMOTE_IP REMOTE_PORT KEY: VALUE[03:32:33 AM] ✔ (127.0.0.1 49575) Host: localhost:8080

Sample Output

TCP
[03:32:54 AM] ▶️ TCP 127.0.0.1 1338
[03:32:57 AM] ⚪ (127.0.0.1 57619)
[03:33:00 AM] ✔ (127.0.0.1 57619) [8] "hello!\r\n"
[03:33:08 AM] ⚫️️️ (127.0.0.1 57619)
UDP
[03:32:41 AM] ▶️ UDP4 127.0.0.1 1337
[03:32:45 AM] ✔ (127.0.0.1 45464) [6] "hello\n"
[03:32:46 AM] ✔ (127.0.0.1 45464) [6] "world\n"
HTTP
[03:32:27 AM] ▶️ HTTP 127.0.0.1 8080
[03:32:31 AM] ⚪ (127.0.0.1 49574)
[03:32:31 AM] ✔ (127.0.0.1 49574) HTTP/1.1 POST /
[03:32:31 AM] ✔ (127.0.0.1 49574) Host: localhost:8080 Content-Length: 36 Content-Type: application/json; charset=utf-8 Accept-Encoding: gzip, deflate, compress Accept: application/json User-Agent: HTTPie/0.8.0
[03:32:31 AM] ✔ (127.0.0.1 49574) [36] {"name": "ahmad", "city": "toronto"}
[03:32:31 AM] ⚫️️️ (127.0.0.1 49574)

[03:32:33 AM] ⚪ (127.0.0.1 49575)
[03:32:33 AM] ✔ (127.0.0.1 49575) HTTP/1.1 POST /
[03:32:33 AM] ✔ (127.0.0.1 49575) Host: localhost:8080 Content-Length: 23 Content-Type: application/x-www-form-urlencoded; charset=utf-8 Accept-Encoding: gzip, deflate, compress Accept: */* User-Agent: HTTPie/0.8.0
[03:32:33 AM] ✔ (127.0.0.1 49575) [23] name=ahmad&city=toronto
[03:32:33 AM] ⚫️️️ (127.0.0.1 49575)

Install

npm install parakeet

Usage


  Usage: parakeet [options] [command]


  Commands:

    http   start HTTP echo server
    tcp    start TCP echo server
    udp    start UDP echo server

  Options:

    -h, --help               output usage information
    -V, --version            output the version number
    -p, --port <number>      port to listen on
    -a, --address <address>  network address to listen on


Author: Ahmad Nassri • Github: @ahmadnassri • Twitter: @AhmadNassri

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free