deno websocket
๐ฆ A simple WebSocket library like ws of node.js library for deno
This library is wrapping the ws standard library as a server-side and the native WebSocket API as a client-side.
You can receive callbacks at the EventEmitter and can use the same object format on both the server-side and the client-side.
Quick Start
Example Demo
Server side
Client side
$ deno run --allow-net https://deno.land/x/[email protected] /example/client.ts
ws connected! (type ' close' to quit)
> something
Usage
Server side
import { WebSocketClient , WebSocketServer } from "https://deno.land/x/[email protected] /mod.ts" ;
const wss = new WebSocketServer ( 8080 ) ;
wss . on ( "connection" , function ( ws : WebSocketClient ) {
ws . on ( "message" , function ( message : string ) {
console . log ( message ) ;
ws . send ( message ) ;
} ) ;
} ) ;
Client side
import { WebSocketClient , StandardWebSocketClient } from "https://deno.land/x/[email protected] /mod.ts" ;
const endpoint = "ws://127.0.0.1:8080" ;
const ws : WebSocketClient = new StandardWebSocketClient ( endpoint ) ;
ws . on ( "open" , function ( ) {
console . log ( "ws connected!" ) ;
ws . send ( "something" ) ;
} ) ;
ws . on ( "message" , function ( message : string ) {
console . log ( message ) ;
} ) ;
Documentation
WebSocketServer
Event
event
detail
connection
Emitted when the handshake is complete
error
Emitted when an error occurs
Field
field
detail
type
server.clients
A set that stores all connected clients
Set<WebSocket>
Method
method
detail
close()
Close the server
WebSocketClient
Event
event
detail
open
Emitted when the connection is established
close
Emitted when the connection is closed
message
Emitted when a message is received from the server
ping
Emitted when a ping is received from the server
pong
Emitted when a pong is received from the server
error
Emitted when an error occurs
Field
field
detail
type
websocket.isClosed
Get the close flag
Boolean | undefined
Method
method
detail
send(message:string | Unit8Array)
Send a message
ping(message:string | Unit8Array)
Send the ping
close([code:int[, reason:string]])
Close the connection with the server
forceClose()
Forcibly close the connection with the server
LICENSE
MIT LICENSE