Websocketd:以Unix方式实现的Websocket

Websocket是一种服务器端向浏览器等客户端主动推送的技术,各种语言有不同的实现,而websocketd是一种类似Linux普通命令的实现方式,使用非常简单。非常类似20年的CGI技术

websocketd可作为后台服务运行,它帮你处理WebSocket 连接,加载你的程序处理WebSocket, 在程序和浏览器直接传送消息。不需要任何依赖包,进程独立。

以从1到10计数为例:使用Linux的sh命令:


#!/bin/bash

# Count from 1 to 10 with a sleep
for COUNT in $(seq 1 10); do
echo $COUNT
sleep 0.5
done

使用websocketd启动这个程序:
$ websocketd --port=8080 my-program

现在就可以在浏览器页面中使用Javascript连接8080端口,接受消息:


var ws = new WebSocket('ws://localhost:8080/');

ws.onmessage = function(event) {
console.log('Count is: ' + event.data);
};