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.mzph.cn/pingmian/80149.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot 基于 Cookie 实现单点登录:原理、实践与优化详解

前言 在多系统交互的应用场景中&#xff0c;单点登录&#xff08;SSO&#xff09;能够显著提升用户体验&#xff0c;减少重复登录的繁琐操作。基于 Cookie 的单点登录方案&#xff0c;凭借其简单直观、浏览器原生支持的特性&#xff0c;成为快速实现单点登录的有效方式。本文将…

ModBus协议详解:从基础概念到C#实现RTU与TCP通讯

ModBus协议是莫迪康公司为了让PLC之间进行数据通信而设计出来的协议。它是一种总线协议&#xff0c;是一种一对多&#xff0c;上下级的关系。 它的应用广泛&#xff0c;具有免费开源&#xff0c;操作简单的有点&#xff0c;并且可以兼容串口和网络通讯&#xff0c;兼容也不错。…

PHP数组排序深度解析:sort()、rsort()、asort()、arsort()、ksort()、krsort() 的适用场景与性能对比

在PHP开发中&#xff0c;数组排序是日常操作的核心技能之一。无论是处理用户数据、产品列表&#xff0c;还是分析日志信息&#xff0c;合理的排序方法能显著提升代码的效率和可维护性。PHP提供了多种数组排序函数&#xff08;如 sort()、rsort()、asort() 等&#xff09;&#…

RabittMQ-高级特性2-应用问题

文章目录 前言延迟队列介绍ttl死信队列存在问题延迟队列插件安装延迟插件使用事务消息分发概念介绍限流非公平分发&#xff08;负载均衡&#xff09; 限流负载均衡RabbitMQ应用问题-幂等性保障顺序性保障介绍1顺序性保障介绍2消息积压总结 前言 延迟队列介绍 延迟队列(Delaye…

HOW - 在 Mac 上的 Chrome 浏览器中调试 Windows 场景下的前端页面

文章目录 为什么需要模拟 Windows 环境&#xff1f;一、修改 User-Agent 模拟 Windows 浏览器方法 1&#xff1a;通过 Chrome 开发者工具修改 UA方法 2&#xff1a;使用浏览器插件 二、模拟 Windows 的字体和滚动条样式1. 模拟 Windows 字体2. 强制显示滚动条&#xff08;模拟 …

如何删除豆包本地大模型

由于无法选择大模型的安装位置&#xff0c;因此会占用C盘大量空间&#xff0c;然后又找到不卸载的地方&#xff0c;经排查豆包大模型安装位为&#xff1a;C:\Users\[当前电脑用户]\AppData\Local\Doubao\User Data&#xff0c;只能进行手动卸载。

Linux C语言线程编程入门笔记

目录 开发环境准备 线程基础概念 进程与线程的关系 线程生命周期 创建线程 等待线程结束 线程函数和参数 互斥锁与共享资源保护 总结 开发环境准备 操作系统&#xff1a;以 Linux 为例&#xff08;Ubuntu/CentOS 等主流发行版&#xff09;。请确保系统已安装 GNU C 编…

levelDB的数据查看(非常详细)

起因:.net大作业天气预报程序(WPF)答辩时&#xff0c;老师问怎么维持数据持久性的&#xff0c;启动时加载的数据存在哪里&#xff0c;我明白老师想考的应该是json文件的解析&#xff08;正反&#xff09;&#xff0c;半天没答上来存那个文件了&#xff08;老师默认这个文件是自…

数据分析怎么做?高效的数据分析方法有哪些?

目录 一、数据分析的对象和目的 &#xff08;一&#xff09;数据分析的常见对象 &#xff08;二&#xff09;数据分析的目的 二、数据分析怎么做&#xff1f; &#xff08;一&#xff09;明确问题 &#xff08;二&#xff09;收集数据 &#xff08;三&#xff09;清洗和…

手写 Vue 源码 === 完善依赖追踪与触发更新

目录 依赖收集的完整实现 trackEffects:建立双向依赖关系 触发更新的完整实现 完整的响应式流程 为什么使用 Map 而不是 Set? 总结 在上一篇文章中,我们介绍了 Vue3 响应式系统的基本原理和 activeEffect 的作用。现在,我们将深入探讨完善后的依赖追踪和触发更新机制…

从代码学习深度学习 - 区域卷积神经网络(R-CNN)系列 PyTorch版

文章目录 前言R-CNNFast R-CNN兴趣区域汇聚层 (RoI Pooling)代码示例:兴趣区域汇聚层 (RoI Pooling) 的计算方法Faster R-CNNMask R-CNN双线性插值 (Bilinear Interpolation) 与兴趣区域对齐 (RoI Align)兴趣区域对齐层的输入输出全卷积网络 (FCN) 的作用掩码输出形状总结前言…

18个国内wordpress主题推荐

工厂wordpress中文主题 红蓝色搭配的工厂wordpress中文主题&#xff0c;适合从事生产、加工的工厂官方网站使用。 https://www.jianzhanpress.com/?p8533 Pithy设计师wordpress网站模板 精练简洁的wordpress模板&#xff0c;设计师或设计工作室展示型网站模板。 https://w…

低成本自动化改造技术锚点深度解析

执行摘要 本文旨在深入剖析四项关键的低成本自动化技术&#xff0c;这些技术为工业转型提供了显著的运营和经济效益。文章将提供实用且深入的指导&#xff0c;涵盖老旧设备联网、AGV车队优化、空压机系统智能能耗管控以及此类项目投资回报率&#xff08;ROI&#xff09;的严谨…

Oracle — 数据管理

介绍 Oracle数据库作为全球领先的关系型数据库管理系统&#xff0c;其数据管理能力以高效性、安全性和智能化为核心。系统通过多维度技术实现海量数据的存储与实时处理&#xff0c;支持高并发事务操作与复杂分析查询&#xff0c;满足企业关键业务需求。在安全领域&#xff0c;O…

【PhysUnits】3.3 SI 基础量纲单位(units/base.rs)

一、源码 这段代码定义了一系列基础物理量纲的类型别名&#xff0c;并使用标记 trait Canonical 来表示它们是国际单位制&#xff08;SI&#xff09;中的基本单位。 use crate::Dimension; use typenum::{P1, Z0};/// 标记特质&#xff0c;表示基础量纲单位 pub trait Canoni…

硬件实操技巧记录

本篇自用&#xff0c;防止自己忘记 焊接技巧 一般都是随机电烙铁锡膏组合。 拆电阻时&#xff0c;电烙铁放在电阻上&#xff0c;加锡膏&#xff0c;这个时候熔点会降低&#xff0c;电阻更容易掉下来&#xff0c;用电烙铁带走&#xff1b;焊电阻时&#xff0c;一端点锡膏&…

13.thinkphp的Session和cookie

一&#xff0e;Session 1. 在使用Session之前&#xff0c;需要开启初始化&#xff0c;在中间件文件middleware.php&#xff1b; // Session 初始化 \think\middleware\SessionInit::class 2. TP6.0不支持原生$_SESSION的获取方式&#xff0c;也不支持session_开头的函数&…

TensorFlow中数据集的创建

目录 前言示例示例1示例2示例3示例4 前言 TensorFlow 的 tf.data.Dataset API 提供了一种灵活且高效的方式来加载和预处理数据。它可以轻松处理大规模数据集&#xff0c;并支持多种数据源格式。 所有数据集相关的内容都在tf.data中&#xff0c;from_tensor_slices&#xff1a;…

第十六章,网络型攻击防范技术

网络攻击介绍 网络攻击 --- 指的是入侵或破坏网络上的服务器 ( 主机 ) &#xff0c;盗取服务器的敏感数据或占用网络带宽。 网络攻击分类&#xff1a; 流量型攻击 网络层攻击 应用层攻击 单包攻击 畸形报文攻击 --- 向目标主机发送有缺陷的IP报文&#xff0c;使得目标在…

服务器不备案有影响吗

在当今数字化的时代&#xff0c;服务器成为了众多企业和个人开展业务、展示自我的重要工具。然而&#xff0c;有一个问题常常被忽视&#xff0c;那就是服务器不备案到底有没有影响&#xff1f; 答案是肯定的&#xff01;服务器不备案&#xff0c;影响可不小。据相关数据显示&a…