websocketd:将任何使用 STDIN/STDOUT 的程序转换为 WebSocket 服务器
websocketd
是一款小型命令行工具,它能够封装现有的命令行界面程序,并使其可以通过 WebSocket 进行访问。
如今,开发具备 WebSocket 功能的应用程序变得极为简单。只要你能编写一个读取 STDIN
并写入 STDOUT
的可执行程序,就能搭建一个 WebSocket 服务器。用 Python、Ruby、Perl、Bash、.NET、C、Go、PHP、Java、Clojure、Scala、Groovy、Expect、Awk、VBScript、Haskell、Lua、R 等语言都可以做到!无需使用网络库。
详细信息
启动时,websocketd
会在指定端口上启动一个 WebSocket 服务器,并监听连接请求。
一旦有连接,它会派生相应的进程,并在 WebSocket 连接关闭时断开该进程(反之亦然)。
从 WebSocket 客户端发送的任何消息都将通过管道传输到进程的 STDIN
流,并在末尾追加一个 \n
换行符。
每当进程向 STDOUT
输出的文本中遇到 \n
换行符时,该文本就会作为一条 WebSocket 消息发送出去。
https://github.com/joewalnes/websocketd