一个最简单的WebSocket hello world demo

栏目: Html5 · 发布时间: 7年前

内容简介:服务器端代码不超过42行:代码第10行创建一个WebSocket服务器,监听在9999端口上:

服务器端代码不超过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端口上:

一个最简单的WebSocket hello world demo

第15~18行每隔3秒发送一个字符串到浏览器,用一个计数器标识每次发送的请求。

代码里所需的server.js我已经上传到我的Github上了:

https://github.com/i042416/Kn...

使用nodejs启动这个服务器:

一个最简单的WebSocket hello world demo

网页端代码:

<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上:

一个最简单的WebSocket hello world demo

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

一个最简单的WebSocket hello world demo


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Host Your Web Site In The Cloud

Host Your Web Site In The Cloud

Jeff Barr / SitePoint / 2010-9-28 / USD 39.95

Host Your Web Site On The Cloud is the OFFICIAL step-by-step guide to this revolutionary approach to hosting and managing your websites and applications, authored by Amazon's very own Jeffrey Barr. "H......一起来看看 《Host Your Web Site In The Cloud》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

URL 编码/解码
URL 编码/解码

URL 编码/解码