You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

5.0 KiB

ws

Class: ws.Server

This class is a WebSocket server. It is an EventEmitter.

new ws.Server([options], [callback])

  • options Object
    • host String
    • port Number
    • server http.Server
    • verifyClient Function
    • path String
    • noServer Boolean
    • disableHixie Boolean
    • clientTracking Boolean
  • callback Function

Construct a new server object.

Either port or server must be provided, otherwise you might enable noServer if you want to pass the requests directly. Please note that the callback is only used when you supply the a port number in the options.

server.close([code], [data])

Close the server and terminate all clients

server.handleUpgrade(request, socket, upgradeHead, callback)

Handles a HTTP Upgrade request. request is an instance of http.ServerRequest, socket is an instance of net.Socket.

When the Upgrade was successfully, the callback will be called with a ws.WebSocket object as parameter.

Event: 'error'

function (error) { }

If the underlying server emits an error, it will be forwarded here.

Event: 'headers'

function (headers) { }

Emitted with the object of HTTP headers that are going to be written to the Stream as part of the handshake.

Event: 'connection'

function (socket) { }

When a new WebSocket connection is established. socket is an object of type ws.WebSocket.

Class: ws.WebSocket

This class represents a WebSocket connection. It is an EventEmitter.

new ws.WebSocket(address, [options])

  • address String|Array
  • options Object
    • protocol String
    • agent Agent
    • headers Object
    • protocolVersion Number|String
      -- the following only apply if address is a String
    • host String
    • origin String
    • pfx String|Buffer
    • key String|Buffer
    • passphrase String
    • cert String|Buffer
    • ca Array
    • ciphers String
    • rejectUnauthorized Boolean

Instantiating with an address creates a new WebSocket client object. If address is an Array (request, socket, rest), it is instantiated as a Server client (e.g. called from the ws.Server).

websocket.bytesReceived

Received bytes count.

websocket.readyState

Possible states are WebSocket.CONNECTING, WebSocket.OPEN, WebSocket.CLOSING, WebSocket.CLOSED.

websocket.protocolVersion

The WebSocket protocol version used for this connection, 8, 13 or hixie-76 (the latter only for server clients).

websocket.url

The URL of the WebSocket server (only for clients)

websocket.supports

Describes the feature of the used protocol version. E.g. supports.binary is a boolean that describes if the connection supports binary messages.

websocket.close([code], [data])

Gracefully closes the connection, after sending a description message

websocket.pause()

Pause the client stream

websocket.ping([data], [options], [dontFailWhenClosed])

Sends a ping. data is sent, options is an object with members mask and binary. dontFailWhenClosed indicates whether or not to throw if the connection isnt open.

websocket.pong([data], [options], [dontFailWhenClosed])

Sends a pong. data is sent, options is an object with members mask and binary. dontFailWhenClosed indicates whether or not to throw if the connection isnt open.

websocket.resume()

Resume the client stream

websocket.send(data, [options], [callback])

Sends data through the connection. options can be an object with members mask and binary. The optional callback is executed after the send completes.

websocket.stream([options], callback)

Streams data through calls to a user supplied function. options can be an object with members mask and binary. callback is executed on successive ticks of which send is function (data, final).

websocket.terminate()

Immediately shuts down the connection

websocket.onopen

websocket.onerror

websocket.onclose

websocket.onmessage

Emulates the W3C Browser based WebSocket interface using function members.

websocket.addEventListener(method, listener)

Emulates the W3C Browser based WebSocket interface using addEventListener.

Event: 'error'

function (error) { }

If the client emits an error, this event is emitted (errors from the underlying net.Socket are forwarded here).

Event: 'close'

function (code, message) { }

Is emitted when the connection is closed. code is defined in the WebSocket specification.

The close event is also emitted when then underlying net.Socket closes the connection (end or close).

Event: 'message'

function (data, flags) { }

Is emitted when data is received. flags is an object with member binary.

Event: 'ping'

function (data, flags) { }

Is emitted when a ping is received. flags is an object with member binary.

Event: 'pong'

function (data, flags) { }

Is emitted when a pong is received. flags is an object with member binary.

Event: 'open'

function () { }

Emitted when the connection is established.