websocketd 10秒教程

websocketd

参考地址:joewalnes/websocketd

官网地址:websocketd

websocketd简述

websocketd是一个简单的websocket服务Server,运行在命令行方式下,可以通过websocketd和已经有程序进行交互。

现在,可以非常容易地构建支持 WebSocket 的应用程序。只要你能写一个可读写STDINSTDOUT的可执行程序,你就可以构建一个WebSocket服务器。在Python,Ruby,Perl,Bash,.NET,C,Go,PHP,Java,Clojure,Scala,Groovy,Expect,Awk,VBScript,Haskell,Lua,R等等中做到这一点!无需网络库。

websocketd 10秒教程

1.下载并安装websocketd

  1. 下载地址:linux、windows等
  2. 将文件提取到您选择的文件夹或仅提取可执行文件
  3. 将websocketd的位置添加到PATH变量中

RUN

复制代码
websocketd --help

2.写一个程序把数据显示到STDOUT

你可以用任何语言。

例子用了最简单的sh。

count.sh:

bash 复制代码
#!/bin/bash
# Count from 1 to 10, pausing for a second between each iteration.
for COUNT in $(seq 1 10); do
    echo $COUNT
    sleep 1
done

记得让他变成可执行文件:

ruby 复制代码
$ chmod +x ./count.sh

3.启动websocketd server

ruby 复制代码
$ websocketd --port=8080 ./count.sh

4.用javascript写一个客户端来交互

count.html:

xml 复制代码
<!DOCTYPE html>
<pre id="log"></pre>
<script>
  // helper function: log message to screen
  function log(msg) {
    document.getElementById('log').textContent += msg + '\n';
  }
  // setup websocket with callbacks
  var ws = new WebSocket('ws://localhost:8080/');
  ws.onopen = function() {
    log('CONNECT');
  };
  ws.onclose = function() {
    log('DISCONNECT');
  };
  ws.onmessage = function(event) {
    log('MESSAGE: ' + event.data);
  };
</script>

很简答,建立连接,然后接收消息,当然你也可以发送消息。

在 Web 浏览器中打开此页面。

5.websocket的常用API

perl 复制代码
onopen
onerror
onclose
onmessage
send
相关推荐
晓杰'12 小时前
Balatro后端进阶(1):自定义NestJS WebSocket Adapter实现消息拦截
后端·websocket·typescript·node.js·游戏开发·nestjs·wsadapter
只要微微辣14 小时前
Vue3 + TS 企业级 WebSocket 封装实战:高可用、自动重连、心跳检测与业务解耦方案
网络·websocket·网络协议
我叫张小白。15 小时前
劳动力招聘管理系统:全栈实战(Vue3+FastAPI+WebSocket+Dify)
websocket·vue·毕业设计·状态模式·fastapi·dify·智能体
Tirzano15 小时前
webflux websocket 实现简单im聊天
网络·websocket·网络协议
sichuanwww15 小时前
python中的websockets简单样例
python·websocket·asyncio·异步操作
fanzhonghong15 小时前
javaWeb开发之前端实战(Tlias案例-部门管理)
前端·后端·web·前后端分离
vim怎么退出2 天前
排查 WebSocket "Invalid frame header" 的一次复盘
websocket·node.js·express
鼎道开发者联盟2 天前
让多端同步看到 OpenClaw tool 事件:两种无需大改源码的实现方案
websocket·openclaw
河阿里2 天前
WebSocket:从零开始到实战项目
网络·websocket·网络协议
初学小白...2 天前
JavaWeb
javaweb·web