websocket上手,应用websocket广播同步客户端信息

本文内容基于nodejs,简单搭建node服务可参考
http://blog.csdn.net/u014420383/article/details/47945819

websocket实现了浏览器与服务器全双工通信,允许多个客户端同时和服务器进行通信,也允许客户端主向多个客户端发送信息

1.安装socket模块
如果我们要使用websocket,需要先给服务器安装socket模块,
例如给node的服务文件server3.js,安装socket
cmd控制台cd切换到server3.js目录下,执行命令npm install socket.io
安装完毕后,在server3.js的目录下,多了一个node_modules文件夹。
这个文件夹就是socket模块的目录。
然后在server3.js文件开头引入socket.io:

var io = require('socket.io');

2.在server3.js文件中给http监听对象添加socket监听
var socket = io.listen(httpServer);//httpServer是http监听

3.客户端发送socket请求

假设index.html页面为客户端,如果要向服务端发送socket连接请求
首先得引入client.socket.js文件
再创建socket连接

var scoket = io.connect('http://localhost:8888');//协议不能丢

4.监听socket连接事件

//socket代表的是当前服务端和客户端建立的对象(TCP)
//socket.sockets对象监听connection事件,只要有一个客户端进行了
//socket对象连接,就会执行function函数内容
socket.sockets.on('connection',function(){
   

            //这里写wsocket连接后的事件
            //socket基本方法:
            socket.emit(event1,data);//向客户端发送event1事件,并传输data
            socket.on(event2,function(data){
   
                //接收客户端发来的event2事件,并得到传输来data
                //根据事件名和data数据进行下一步的操作
            });

            socket.broadcast.emit(event3,data);
            //向所有客户端广播event1事件,并传输data

        });

例子:应用websocket广播同步客户端信息

例子功能:

在客户端设置一个”连接socket”按钮和一个div,
当客户端1(用浏览器窗口代替不同客户端)点击连接socket按钮,就会得到来自服务器的“欢迎你”提示。
当客户端2点击连接socket按钮,也会得到“欢迎你”提示,此时客户端1会得到”有新人进来了”。
当客户端3点击连接socket按钮,也会得到“欢迎你”提示,此时客户端1和2会得到”有新人进来了”的提示。

另外,当一个客户端点击socket按钮,那么该客户端上的红色

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值