一个最简单的WebSocket hello world demo
服务器端代码不超过42行:
const WSServer = require("./server.js");var counter = 0;function createWebsocket() {var host = "127.0.0.1";var port = "9999";var wsServer = WSServer.startServer(host, port);console.log("WebSocket server listens to: " + host + ":" + port);wsServer.on('open', (data) => {console.log('WS Client has connected: ' + data);setInterval(function(){ counter++;WSServer.broadcast("Jerry: " + counter );}, 3000);});wsServer.on('dataWS', (data) => {console.log('Receive Data from WebUI : ' + data);});wsServer.on('disconnect', (data) => {console.log('WSServer disconnect:' + data.name);});wsServer.on('close', (data) => {console.log('WSServer close: ' + data.name);});wsServer.on('end', (data) => {console.log('WSServer Close: '+data.name);});wsServer.on('error', (data) => {});
}createWebsocket();
代码第10行创建一个WebSocket服务器,监听在9999端口上:
第15~18行每隔3秒发送一个字符串到浏览器,用一个计数器标识每次发送的请求。
代码里所需的server.js我已经上传到我的Github上了:
https://github.com/i042416/KnowlegeRepository/blob/master/practice/nodejs/server.js
使用nodejs启动这个服务器:
网页端代码:
<html>
<script src="socket.io.dev.js">
</script>
<script>
console.log("1");var socket = io('ws://127.0.0.1:9999');socket.on('connect', function(){console.log("connected!");});socket.on('event', function(data){console.log("event: " + data);});socket.on('news', function(data){console.log("data from server: " + JSON.stringify(data,2,2));});socket.on('disconnect', function(){console.log("disconnect...");});</script>
</html>
浏览器端每隔三秒收到服务器推送的消息,打印在console上:
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
一个最简单的WebSocket hello world demo相关推荐
- Qt5.9一个简单的手写界面demo
本文主要总结一个最简单的手写界面demo,具体代码如下. 1.1新建一个widget工程,不要勾选ui界面.然后分别在widget.h.widget.cpp.main.cpp分别添加如下代码. wid ...
- LWJGL入门指南:使用《我的世界》(Minecraft)同款游戏库开发一个超级“简单”的3D射击游戏
LWJGL系列文章 LWJGL入门指南:序章 LWJGL入门指南:安装LWJGL或生成maven或gradle依赖与第一行LWJGL代码 LWJGL入门指南:一个超级简单的3D射击游戏demo 前言 ...
- Dubbo入门介绍---搭建一个最简单的Demo框架
Dubbo入门---搭建一个最简单的Demo框架 置顶 2017年04月17日 19:10:44 是Guava不是瓜娃 阅读数:320947 标签: dubbo zookeeper 更多 个人分类: ...
- 使用SpringBoot搭建一个简单的webSocket服务
前言 个人地址:使用SpringBoot搭建一个简单的webSocket服务 什么是WebSocket? WebSocket是一个HTML5新增的协议,它的目的在浏览器和服务器之间建立一个不受限的双向 ...
- 用 Go 编写一个简单的 WebSocket 推送服务
用 Go 编写一个简单的 WebSocket 推送服务 本文中代码可以在 github.com/alfred-zhon- 获取. 背景 最近拿到需求要在网页上展示报警信息.以往报警信息都是通过短信,微 ...
- 如何用 Node.js 实现一个简单的 Websocket 服务?
最近正在研究 Websocket 相关的知识,想着如何能自己实现 Websocket 协议.到网上搜罗了一番资料后用 Node.js 实现该协议,倒也没有想象中那么复杂,除去注释语句和 console ...
- 使用libwebsockets搭建一个简单的websocket服务器
本文讲解如何开发一个简单的WebSocket服务器 如果你嫌这两个例子都太简单了,且想了解更多更深的websocket的工作原理, 可以看这篇文章:http://lucumr.pocoo.org/20 ...
- socket.io简单说明及在线抽奖demo
socket.io简单说明及在线抽奖demo socket.io 简介 Socket.IO可以实现实时双向的基于事件的通信. 它适用于各种平台,浏览器或设备,也同样注重可靠性和速度. socket.i ...
- 初学redux笔记,及一个最简单的redux实例
categories: 笔记 tags: react redux 前端框架 把初学redux的一些笔记写了下来 分享一个入学redux很合适的demo, 用redux实现计数器 这是从阮一峰老师git ...
最新文章
- 自监督学习(Self-Supervised Learning)多篇论文解读(上)
- Unity版本更新关注
- 万字长文,说透了 Openshift4 的安装过程!
- Java常用垃圾收集器
- Mini音乐播放器【简单版】(附源码)
- gdk_draw_arc这个函数
- case分支 shell函数 字符串的处理
- C++ class实现Huffman树(完整代码)
- P4180-[BJWC2010]严格次小生成树【Kruskal,倍增】
- 秀操作 | 函数宏的三种封装方式
- 【学习笔记】传输层:TCP协议(报文段、连接管理{握手}、可靠传输、流量控制、拥塞控制)
- 自定义委托,事件,参数的简单随笔
- 陈硕网络编程实战视频教程目录
- Spark RDD的运行机制 工作节点分布关系
- HMM:隐马尔科夫模型 - 学习
- 【VMware vSAN 7.0】4.8 有关 vSAN 许可证的注意事项—我们有软硬件解决方案
- 使用php监控系统运行状态、网站运行状态监控系统
- es 精确查找思路以及实现过程
- Elasticsearch Index Aliases详解
- Android针对IC卡读写的NFC开发
热门文章
- Webkit for android
- java.lang.OutOfMemoryError: Java heap space 解决方法
- Ruby on Rails:控制器纵览
- 代码生成工具随笔(3)---占领最后一块黄金宝地
- 让Tee 7.x版本和FastReport 3.x版本共存
- 文献记录(part17)--VARCLUST: clustering variables using dimensionality reduction
- Django从理论到实战(part1)--虚拟环境
- pyqt5能直接编译python吗_用PyInstaller打包用PyQt5编写的python程序
- SAP UI5 应用开发教程之十九 - SAP UI5 数据类型和复杂的数据绑定
- express.static 和 lit-html