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
相关推荐
Walter先生1 天前
Python 获取美股盘前盘后数据:yfinance 的坑与解法
websocket·实时行情数据源
_Evan_Yao1 天前
对话的边界:HTTP 的克制,SSE 的流淌,WebSocket 的自由
java·后端·websocket·网络协议·http
叶之香1 天前
探究 libhv Socketpair 在 clumsy 模拟延迟下的“超时”之谜
windows·websocket
里欧跑得慢1 天前
微交互设计模式:提升用户体验的细节之美
前端·css·flutter·web
牛奶1 天前
不经过服务器,两个人怎么直接通话?
前端·websocket·webrtc
曲幽2 天前
FastAPI + SQLAlchemy 2.0 通用CRUD操作手册 —— 从同步到异步,一次讲透
python·fastapi·web·async·sqlalchemy·session·crud·sync·with
里欧跑得慢2 天前
12. CSS滤镜效果详解:为页面注入艺术灵魂
前端·css·flutter·web
里欧跑得慢2 天前
CSS 级联层:控制样式优先级的新方式
前端·css·flutter·web
舰长1152 天前
nginx常用配置反向代理配置
运维·websocket·nginx
彭于晏Yan2 天前
Spring Boot + WebSocket 实现单聊已读未读(四)
spring boot·python·websocket