点击打开链接 https://www.jianshu.com/p/63afd0099565
WebSocket是什么
WebSocket是HTML5下面的一种技术,设计出来的目的就是要取代轮询和 Comet 技术,使客户端浏览器具备像 C/S 架构下桌面系统的实时通讯能力。 浏览器通过 JavaScript 向服务器发出建立 WebSocket 连接的请求,连接建立以后,客户端和服务器端就可以通过 TCP 连接直接交换数据。因为 WebSocket 连接本质上就是一个 TCP 连接,所以在数据传输的稳定性和数据传输量的大小方面,和轮询以及 Comet 技术比较,具有很大的性能优势。
简单的说这就是一个可以通过web来访问的socket协议。
具体可参考以下: https://www.websocket.org/ https://developer.mozilla.org/en-US/docs/WebSockets
websocketd是什么
websocketd是一个简单的websocket服务Server,运行在命令行方式下,可以通过websocketd和已经有程序进行交互。
你可以写一个程序通过读写STDIN和STDOUT来和websocketd交互。因为是标准的读写接口,所以你的程序可以使用任何语言来处理。
这个程序的项目地址如下: https://github.com/joewalnes/websocketd
websocketd 10秒教程
1.下载并安装websocketd
其实就是把websocketd下载到本地任何目录,反正你知道运行方式就可以,方便的话你可以放到
/usr/local/bin
目录下。直接在项目地址下载最新的就可以了。
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); do echo $COUNT sleep 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 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>
很简答,建立连接,然后接收消息,当然你也可以发送消息。
5.websocket的常用API
onopen onerror onclose onmessage send
作者:欧悦服务
链接:https://www.jianshu.com/p/63afd0099565
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。