一个最简单的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(); </pre>
代码第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> </pre>
浏览器端每隔三秒收到服务器推送的消息,打印在console上:
本文来自云栖社区合作伙伴“汪子熙”
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
纪念 Vamei
偶然在某公众号里看到一篇文章,得知 Vamei 去世的消息。 看到它之前,我并不知道这位“知名的 Python 技术博主”。我写 Python 技术文章有一小段时间了,也认识了很多圈内的博主。但是,这个 Vamei 是谁呢?竟不认识。我很好奇。 因为消息是从豆瓣里传出来的,我就去搜他的豆瓣。然后,一路看到了他的知乎,他的书,他的技术博客,他的演讲,他的微博,甚至他的公众号,也看到了一些友人的纪念文章。 看得越多,我就越放不下了。正好我在写一篇荐书栏目,就发现他跟我恰巧同时在读着一本未上市的新书。这个难得的巧合让我更不能释怀,我自以为这是一个神秘主义的讯息。 该拿他怎么办呢?我决定就写下这篇东西,以作纪念吧。 (1)一首诗 他在豆瓣的最后一篇日记是一首诗: 《寻影》 远处的光臆造身前的影。 影高而大, 噬我,缠绕我,御我为奴。 我与影欢歌。 倏忽, 光灭影消。 黑漆漆的我, 不知何处寻影。 发布时间 2 月 21 日,距离世日期仅一周。 一个臆造的高大的影,吃人奴役人,然而他说,与影欢歌。这是哪种的乐?是愚者后知后觉,还是英雄苦中寻乐? 光灭影消,不去寻光,却要找影,为什么?是因为没有了...
- 下一篇
利用在线HTTP接口测试工具ApiPost,模拟移动端请求API接口
我们做开发一般都是在PC端,然而我们很多时候需要模拟移动端进行接口请求。 比如,当一个API需要根据用户不同的终端来返回不同的数据时,就需要一个工具来模拟不同的终端了。 利用接口测试工具ApiPost,就可以轻松的做到这一点。 ApiPost简介: ApiPost是一个支持团队协作,并可直接生成文档的API调试、管理工具。它支持模拟POST、GET、PUT等常见请求,是后台接口开发者或前端、接口测试人员不可多得的工具 。 官网: https://www.apipost.cn/ 它同样支持局域网接口的发送调试。 ApiPost模拟手机请求: 我们以访问阿里云官网为例。 1、打开ApiPost客户端,接口地址输入:https://www.aliyun.com 然后点击发送,我们可以看到数据返回是PC的内容。 2、我们此时,点击【发送】按钮旁边的小三角,选择模拟iPhone,再次发送,得到的就是移动端数据了。 原理: 其实,ApiPost模拟移动端的原理很简单,就是伪造user-Agent头。通过这个功能,您不仅可以模拟移动端,甚至可以模拟移动设备的型号等。 当然,除了模拟user-Agen...
相关文章
文章评论
共有0条评论来说两句吧...