Skip to content

Commit 7ef0e3a

Browse files
committed
split server
1 parent 2792301 commit 7ef0e3a

5 files changed

Lines changed: 29 additions & 54 deletions

File tree

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { WebSocketServer } from 'ws'
2+
3+
const server = new WebSocketServer({ port: 5001 })
4+
5+
server.on('connection', (socket) => {
6+
socket.on('message', (data, isBinary) => {
7+
socket.send(data, { binary: isBinary })
8+
// socket.close();
9+
})
10+
})
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { WebSocketServer } from 'ws'
2+
3+
const server = new WebSocketServer({ port: 5001 })
4+
5+
// Workaround for https://github.com/nodejs/undici/issues/3202
6+
const emptyBuffer = Buffer.allocUnsafe(1)
7+
8+
server.on('connection', (socket) => {
9+
socket.on('message', (_data, _isBinary) => {
10+
socket.send(emptyBuffer)
11+
// socket.close();
12+
})
13+
})

benchmarks/websocket/websocket-echo.mjs

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { WebSocket as WsWebSocket, WebSocketServer } from 'ws'
1+
import { WebSocket as WsWebSocket } from 'ws'
22
import { WebSocket as UndiciWebSocket } from '../../index.js'
33
import { randomBytes } from 'node:crypto'
44
import { bench, run, group } from 'mitata'
@@ -12,21 +12,9 @@ if (__GLOBAL_WEBSOCKET__ && typeof globalThis.WebSocket === 'function') {
1212
GlobalWebSocket = globalThis.WebSocket
1313
}
1414

15-
const server = new WebSocketServer({ port: 5001 })
1615
const binary = randomBytes(__BINARY_SIZE__)
1716

18-
server.on('connection', (socket) => {
19-
socket.on('message', (data, _isBinary) => {
20-
socket.send(data)
21-
// socket.close();
22-
})
23-
})
24-
25-
await new Promise((resolve, _reject) => {
26-
server.on('listening', resolve)
27-
})
28-
29-
const url = `http://localhost:${server.address().port}`
17+
const url = 'http://localhost:5001'
3018

3119
const connections = []
3220

@@ -90,8 +78,6 @@ for (const ws of connections) {
9078

9179
await run()
9280

93-
server.close()
94-
9581
for (const ws of connections) {
9682
ws.close()
9783
}

benchmarks/websocket/websocket-send-buffer.mjs

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { WebSocket as WsWebSocket, WebSocketServer } from 'ws'
1+
import { WebSocket as WsWebSocket } from 'ws'
22
import { WebSocket as UndiciWebSocket } from '../../index.js'
33
import { randomBytes } from 'node:crypto'
44
import { bench, run, group } from 'mitata'
@@ -12,24 +12,9 @@ if (__GLOBAL_WEBSOCKET__ && typeof globalThis.WebSocket === 'function') {
1212
GlobalWebSocket = globalThis.WebSocket
1313
}
1414

15-
const server = new WebSocketServer({ port: 5001 })
1615
const binary = randomBytes(__BINARY_SIZE__)
1716

18-
// Workaround for https://github.com/nodejs/undici/issues/3202
19-
const emptyBuffer = Buffer.allocUnsafe(1)
20-
21-
server.on('connection', (socket) => {
22-
socket.on('message', (_data, _isBinary) => {
23-
socket.send(emptyBuffer)
24-
// socket.close();
25-
})
26-
})
27-
28-
await new Promise((resolve, _reject) => {
29-
server.on('listening', resolve)
30-
})
31-
32-
const url = `http://localhost:${server.address().port}`
17+
const url = 'http://localhost:5001'
3318

3419
const connections = []
3520

@@ -93,8 +78,6 @@ for (const ws of connections) {
9378

9479
await run()
9580

96-
server.close()
97-
9881
for (const ws of connections) {
9982
ws.close()
10083
}

benchmarks/websocket/websocket-send-string.mjs

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { WebSocket as WsWebSocket, WebSocketServer } from 'ws'
1+
import { WebSocket as WsWebSocket } from 'ws'
22
import { WebSocket as UndiciWebSocket } from '../../index.js'
33
import { randomBytes } from 'node:crypto'
44
import { bench, run, group } from 'mitata'
@@ -12,24 +12,9 @@ if (__GLOBAL_WEBSOCKET__ && typeof globalThis.WebSocket === 'function') {
1212
GlobalWebSocket = globalThis.WebSocket
1313
}
1414

15-
const server = new WebSocketServer({ port: 5001 })
1615
const binary = randomBytes(__BINARY_SIZE__).toString('utf-8')
1716

18-
// Workaround for https://github.com/nodejs/undici/issues/3202
19-
const emptyBuffer = Buffer.allocUnsafe(1)
20-
21-
server.on('connection', (socket) => {
22-
socket.on('message', (_data, _isBinary) => {
23-
socket.send(emptyBuffer)
24-
// socket.close();
25-
})
26-
})
27-
28-
await new Promise((resolve, _reject) => {
29-
server.on('listening', resolve)
30-
})
31-
32-
const url = `http://localhost:${server.address().port}`
17+
const url = 'http://localhost:5001'
3318

3419
const connections = []
3520

@@ -93,8 +78,6 @@ for (const ws of connections) {
9378

9479
await run()
9580

96-
server.close()
97-
9881
for (const ws of connections) {
9982
ws.close()
10083
}

0 commit comments

Comments
 (0)