NodeJS笔记

NodeJS比较适合做WebSocket服务器,其它语言实现起来很难受。

很多人就是因为WebSocket才使用NodeJS的,不过说实话,NodeJS做复杂的WebSocket应用还是不太适合。
## CentOS安装nodejs:
yum install nodejs
## 查看nodejs版本
node -v
安装WebSocket模块
npm init -f
npm install -g ws 

ws算是速度比较快的,如果想追求兼容性,
可以选择Socket.io,Socket.io自动判断当前浏览器是否支持WebSocket,
不支持就自动转换成HTTP长轮询等方式实现。
https://github.com/websockets/ws nodejs+ws实现的聊天室 https://segmentfault.com/a/1190000000406024
客户端程序
<html>
<head>

<script src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>

</head>
<body>

<h1>WebSocket</h1>
<p id="text"></p>
<button onclick="ws.send('click')">send</button>

</body>

<script>
        var ws = new WebSocket("ws://www.microic.com:8080");
        ws.onopen = function (e) {
alert("open");
                ws.send("hello");
        };
        ws.onclose = function(e)
        {
                alert("close");
        };
        ws.onmessage = function(e)
        {
                $("#text").append(e.data)
        };
</script>

</html>
服务器端程序
var WebSocketServer = require('ws').Server
  , wss = new WebSocketServer({ port: 8080 });

var w = null;
wss.on('connection', function connection(ws) {
  w = ws
  console.log("connect");
  ws.on('message', function incoming(message) {
    console.log('received: %s', message);
  });

  ws.send("Hello<br>");
});

setInterval(function(){
    console.log("timeout");
    if (w) {
        w.send((new Date()) + "<br>");
    }
}, 5000);


发表于:2016-10-13 15:28:09

原文链接(转载请保留): http://www.multisilicon.com/blog/a34313814.html

友情链接: MICROIC
首页