Package Exports
- @kyuuseiryuu/websocket-handler
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@kyuuseiryuu/websocket-handler) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
websocket-handler
Quick Start
- clone this repository
- run
npm i && npm start
- now server is running...
API
setEventListener(string: eventName, function: callback)
broadcast(function: callback(connection))
- array[] connectionsKey
getAllConnectionsKey()
get(string: connectionKey, function: callback(Connection))
listen(number: port, string: host, function: callback)
setActionMap(actionMap)
const actionMap = { actionName(Message, connection) { // Use Message and connection to do something const jumpEvent = true; return jumpEvent; }, }
setAction(string: actionName, callback(Message, Connection: current connection))
send(object|string: message, Connection: target connection)
Not support binary data, if you want to send binary data you can use Connection object.
Event Support
beforeJoin
new connection join manage beforeafterJoin
new connection join manage afterbeforeQuit
connection quit manage beforeafterQuit
connection quit manage aftercreate
when connection createjson
when connection receive a json stringwhen
json
event listener is undefined, will try to calltext
event listener.text
when connection receive a texterror
WebSocket eventclose
WebSocket event
Event Params
Event | params |
---|---|
beforeJoin/afterJoin | (connection, allConnectionsKey) |
beforeQuit/afterQuit | (connection, allConnectionsKey) |
create | (connection) |
json | (Message, connection) |
text | (Message, connection) |
error | (WebSocketErrorEvent) |
close | (connection) |
Data Flow
- The request will transform to JSON object,
- If request transform failed will call
text
event and over. - If request has
SYS_ACTION
property, will try to map action - If action mapper return true to jump event then over this request
- Else will call
json
event.