使用WebSocket和Node的聊天服务器

/*
*这是运行在NodeJS上的服务器端JavaScript
*在HTTP服务器之上,它运行-个WebSocket服务器,该服务器使用来自
* https://github . com/ miksago/ node -websocket- server/的第三方WebSocket库实现
如果得到" /"的- -个HTTP请求,则返回聊天客户端的HTML文件
除此之外任何HTTP请求都返回404
*通过WebSocket协 议接收到的消息都仅广播给所有激活状态的连接
*/
var http = require('http');
//使用Node的HTTP服务器API
var WS = require('websocket-server'); // 使用第三方WebSocket库
//启动阶段,读取聊天客户端的资源文件
var clientui = require(' fs').readFileSync("wschatclient.html");
//创建一个HTTP服务器
var httpserver = new http.Server();
//当HTTP服 务器获得-一个新请求时,运行此函数
httpserver.on("request", function (request, response) {
            //如果请求"/",则返回客户端聊天UI
            if (request.url === "/") { //请求聊天UI
                response.writeHead(200, {
                    "Content-Type": "text/html"
                });
                response.write(clientui);
                response.end();
            } else { //对任何其他的请求返回404"无法找到"编码
                response.writeHead(404);
                response.end();
            });
        //在HTTP服务器上包装- -个WebSocket服务器
        var Wsserver = WS.createServer({
            server: httpserver
        });
        //当接收到一个新的连接请求的时候,调用此函数
        WS server.on(" connection", function (socket) {
            socket.send("Welcome to the chat room."); //向新客户端打招呼
            socket.on("message", function (msg) { // 监听来自客户端的消息
                wsserver.broadcast(msg);
                //并将它们广播给每个人
            });
        });
        //在8000端口运行服务器。启动WebSocket服 务器的时候也会启动HTTP服务器
        //连接到http://localhost:8000/,并开始使用它
        wsserver.listen(8000);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值