Code files
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
'use strict'
|
||||
|
||||
const WebSocket = require('ws')
|
||||
const readline = require('readline')
|
||||
const ws = new WebSocket(process.argv[2] || 'ws://localhost:8080')
|
||||
const rl = readline.createInterface({
|
||||
input: process.stdin,
|
||||
output: process.stdout,
|
||||
prompt: '-> '
|
||||
})
|
||||
const gray = '\u001b[90m'
|
||||
const red = '\u001b[31m'
|
||||
const reset = '\u001b[39m'
|
||||
ws.on('open', () => {
|
||||
rl.output.write(`${gray}-- Connected --${reset}\n\n`)
|
||||
rl.prompt()
|
||||
})
|
||||
rl.on('line', (msg) => {
|
||||
ws.send(msg, () => {
|
||||
rl.output.write(`${gray}<= ${msg}${reset}\n\n`)
|
||||
rl.prompt()
|
||||
})
|
||||
})
|
||||
ws.on('message', function (msg) {
|
||||
readline.clearLine(rl.output)
|
||||
readline.moveCursor(rl.output, -3 - rl.line.length, -1)
|
||||
rl.output.write(`${gray}=> ${msg}${reset}\n\n`)
|
||||
rl.prompt(true)
|
||||
})
|
||||
ws.on('close', () => {
|
||||
readline.cursorTo(rl.output, 0)
|
||||
rl.output.write(`${gray}-- Disconnected --${reset}\n\n`)
|
||||
process.exit()
|
||||
})
|
||||
ws.on('error', (err) => {
|
||||
readline.cursorTo(rl.output, 0)
|
||||
rl.output.write(`${red}-- Error --${reset}\n`)
|
||||
rl.output.write(`${red}${err.stack}${reset}\n`)
|
||||
})
|
||||
Reference in New Issue
Block a user