当前位置: 首页 > news >正文

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:

#!/bin/bash
# Count from 1 to 10, pausing for a second between each iteration.
for COUNT in $(seq 1 10); doecho $COUNTsleep 1
done

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

$ chmod +x ./count.sh

3.启动websocketd server

$ websocketd --port=8080 ./count.sh

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

count.html:

<!DOCTYPE html>
<pre id="log"></pre>
<script>// helper function: log message to screenfunction log(msg) {document.getElementById('log').textContent += msg + '\n';}// setup websocket with callbacksvar 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

onopen
onerror
onclose
onmessage
send
http://www.dtcms.com/a/180484.html

相关文章:

  • 图上思维:基于知识图的大型语言模型的深层可靠推理
  • Excel提取单元格特定符号左右两边内容
  • OPENSSL-1.1.1的使用及注意事项
  • (pnpm)引入 其他依赖失败,例如‘@element-plus/icons-vue‘失败
  • 矩阵短剧系统:如何用1个后台管理100+小程序?深度解析多端绑定技术
  • vue搭建+element引入
  • 2025数维杯数学建模A题完整论文模型代码:空中芭蕾
  • 霸王茶姬微信小程序自动化签到系统完整实现解析
  • 使用Kotlin Flow实现Android应用的响应式编程
  • 小刚说C语言刷题—1004阶乘问题
  • LeetCode 1722. 执行交换操作后的最小汉明距离 题解
  • OpenCV 中用于支持 华为昇腾(Ascend)AI 芯片后端 的模块CANN
  • uni-app,小程序中的addPhoneContact,保存联系人到手机通讯录
  • mac 电脑如何打开剪切板
  • B站pwn教程笔记-9
  • 什么是信号完整性?
  • O2OA(翱途)开发平台系统安全-用户登录IP限制
  • 【Qt】之【Bug】点击按钮(ui->pushButton)触发非本类设置的槽函数
  • temu采购自养号全流程解析:从账号搭建到安全下单的技术闭环
  • 【5分钟学Docker】Docker快速使用
  • 计算机网络:深度解析基于链路状态的内部网关协议IS-IS
  • springmvc实现文件上传
  • 为什么消息队列系统不像数据库系统那样可以配置读写分离?
  • 【css】css统一设置变量
  • 03 mysql 连接
  • Linux 内核中的 security_sk_free:安全模块与 Socket 释放机制解析
  • 掌握单元测试:提升软件质量的关键步骤
  • MySQL + Elasticsearch:为什么要使用ES,使用场景与架构设计详解
  • idea spring boot 打包成可执行的 JAR包
  • SpringBoot默认并发处理(Tomcat)、项目限流详解