@elementbound/nlon-websocket
v1.2.1
Published
WebSocket adapter for nlon
Downloads
5
Maintainers
Readme
nlon-websocket
WebSocket adapter for nlon.
Since nlon by itself is not concerned by the actual method of data transfer, adapters can be used to apply the protocol over various media.
This package provides such an adapter for use with WebSockets.
Under the hood, this package uses isomorphic-ws
, which delegates to either
ws
or the browser's WebSocket implementation, depending on where it's used.
To see nlon running in the browser, see the websocket-chat example.
Install
- pnpm:
pnpm add @elementbound/nlon-websocket
- npm:
npm i @elementbound/nlon-websocket
- yarn:
yarn add @elementbound/nlon-websocket
Usage
This package provides factory methods both for wrapping existing WebSockets or creating new ones.
Server
Wrap an existing server instance:
import { wrapWebSocketServer } from '@elementbound/nlon-websocket'
import ws from 'isomorphic-ws'
const wss = new ws.WebSocketServer({
host: 'localhost',
port: 63636
})
const nlonServer = wrapWebSocketServer(wss)
Create a new WebSocket server and wrap in nlon:
import { createWebSocketServer } from '@elementbound/nlon-websocket'
const nlonServer = createWebSocketServer({
host: 'localhost',
port: 63636
})
Access the WebSocketServer
instance behind the nlon Server with
nlonServer.server
.
These only work in Node, no WebSocket server implementation is available in the browser.
Peer
Wrap an existing socket:
import { wrapWebSocketPeer } from '@elementb/nlon-websocket'
import ws from 'isomorphic-ws'
const ws = new WebSocket('ws://localhost:63636/')
const nlonPeer = wrapWebSocketPeer(ws)
Connect to WS server and wrap in nlon Peer:
import { createWebSocketPeer } from '@elementb/nlon-websocket'
const nlonPeer = createWebSocketPeer({
address: 'ws://localhost:63636/'
})
Access the WebSocket
instance behind the nlon Peer with nlonPeer.socket
.
Documentation
- API docs
- Or generate your own with JSDoc:
pnpm doc
- Or generate your own with JSDoc:
License
This package is under the MIT License.