websocketd
举例:
10 second tutorial
举例来说,下面是一个 Bash 脚本counter.sh
。
1 |
|
或者python版本(也可以其它版本)
1 | #!/usr/bin/python |
或者C版本:
1 |
|
命令行下运行这个脚本,会输出1、2、3、…,每个值之间间隔0.5秒。
1 | $ bash ./counter.sh |
现在,启动websocketd
,指定这个脚本作为服务。
1 | $ websocketd --port=8080 bash ./counter.sh |
上面的命令会启动一个 WebSocket 服务器,端口是8080
。每当客户端连接这个服务器,就会执行counter.sh
脚本,并将它的输出推送给客户端。
然后启动客户端,连接客户端的程序到服务器端:
server.js:
1 | const WebSocket = require('ws'); |
在命令行窗口执行 node server.js
(比如报错 JavaScript - ReferenceError: WebSocket is not defined 则 在命令行窗口执行 npm i ws
)
客户端返回 counter.sh的输出。
服务端显示:
1 | Mon, 06 Mar 2023 10:07:40 +0800 | INFO | server | | Serving using application : /usr/bin/bash ./counter.sh |