Simple and fast WebSocket server for Node.js
- Lightweight
- Easy to use
- Fast
- N/A
$ npm i PerformanC/Internals#PWSL-server
import http from 'node:http'
import { URL } from 'node:url'
import PWSL from '@performanc/pwsl-server'
const server = http.createServer((req, res) => {
res.writeHead(400)
res.end('Invalid request.')
})
const WebSocketServer = new PWSL()
WebSocketServer.on('/', async (ws) => {
console.log('Connected to WebSocket server.')
ws.send('Hello, World!')
ws.on('message', (message) => {
console.log(`Received message: ${message}`)
})
ws.on('close', () => {
console.log('Disconnected from WebSocket server.')
})
ws.on('error', (err) => {
console.log(`Error: ${err.message}`)
})
})
server.on('upgrade', (req, socket, head) => {
const { pathname } = new URL(req.url, `http://${req.headers.host}`)
if (pathname === '/')
WebSocketServer.handleUpgrade(req, socket, head, {}, (ws) => WebSocketServer.emit('/', ws, req))
})
server.on('error', (err) => {
console.log(`Error: ${err.message}`)
})
WebSocketServer.on('error', (err) => {
console.log(`Error: ${err.message}`)
})
server.listen(8080, () => {
console.log(`Listening on port \u001b[94m${8080}\u001b[37m.`)
})
As an internal library, PWSL-server does not have a dedicated documentation. You should refer to the source code for more information.
Any question related to PWSL-server or other PerformanC projects can be made in PerformanC's Discord server.
It is mandatory to follow the PerformanC's contribution guidelines to contribute to PWSL-server. Following its Security Policy, Code of Conduct and syntax standard.
PWSL-server is licensed under BSD 2-Clause License. You can read more about it on Open Source Initiative.