node package manager
Stop writing boring code. Discover, share, and reuse within your team. Create a free org »

helnet

helnet

Networking abstractions for heldb.

Transportation:

  • Local (via setTimeout)
  • WebSockets
  • WebWorkers (planned)
  • WebRTC (planned)
  • TCP/UDP (planned)
  • File system (planned)

example

local

server & client

const server = require('require/server')({
    local: {}
})
 
server.start({
    ready () {
    }
 
    connection (socket) {
    }
})
 
const socket = require('helnet/socket')({
    sessionId: 'id' + Math.random(),
    local: {
        server
    }
})
 
socket.start({
    ready () {
    }
 
    message (message) {
    }
 
    unreliableMessage (message) {
    }
 
    close () {
    }
})

websockets

server

client

api

socket

constructor

const socket = require('helnet/socket')(spec)

Creates a new socket connection to a given server. An exception is raised if the configuration is invalid.

spec.sessionId

A unique string identifying the session of the client.

spec.local
  • spec.local.server a local server server instance

properties

socket.sessionId

The socket's unique sessionId variable.

socket.open

Boolean flag. If true, socket can accept send events.

methods

socket.start(spec)

Starts the socket. spec is a dictionary of callbacks with the following properties:

  • spec.read(err) called when the socket is ready
  • spec.message(data) called when the socket recieves a message
  • spec.unreliableMessage(data) called when the socket receives an unreliable message
  • spec.close(err) called when the socket closes

socket.send(message)

Sends a reliable, ordered message to the client.

socket.sendUnreliable(message)

Sends a message unreliably to the server. This message may be dropped or reordered.

socket.close()

Closes the socket connection

server API

constructor

const server = require('helnet/server')(spec)

Constructs a new server object

spec.local

properties

server.clients

An array of all currently connected clients

server.open

If true then server is open

methods

server.start(spec)

  • spec.ready(err)
  • spec.connection(socket) called when a client connects. socket is an instance of a socket like above

server.close()

Closes the server