Skip to content

Handle startup errors if WebSocket server cannot be started #5

@zehnm

Description

@zehnm

There's no error handling if the WebSocket server cannot be started, e.g. if the listen address is already in use:

node:events:490
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE: address already in use :::9988
    at Server.setupListenHandle [as _listen2] (node:net:1740:16)
    at listenInCluster (node:net:1788:12)
    at Server.listen (node:net:1876:7)
    at new WebSocketServer (/Users/mzehnder/projects/unfoldedcircle/integration-node-library/node_modules/ws/lib/websocket-server.js:97:20)
    at IntegrationAPI.init (/Users/mzehnder/projects/unfoldedcircle/integration-node-library/index.js:68:24)
    at Object.<anonymous> (/Users/mzehnder/projects/unfoldedcircle/integration-node-library/examples/light.js:6:4)
    at Module._compile (node:internal/modules/cjs/loader:1246:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1300:10)
    at Module.load (node:internal/modules/cjs/loader:1103:32)
    at Module._load (node:internal/modules/cjs/loader:942:12)
Emitted 'error' event on WebSocketServer instance at:
    at Server.emit (node:events:512:28)
    at emitErrorNT (node:net:1767:8)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
  code: 'EADDRINUSE',
  errno: -48,
  syscall: 'listen',
  address: '::',
  port: 9988
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions