nodejs--socket.io

本文介绍如何使用 Socket.IO 在 Node.js 中实现实时双向通信。通过示例代码展示了客户端和服务端的连接建立、消息发送及接收的过程,并涉及不同场景下的具体应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


html

<script src="javascript/socket.io.js"></script>
<script>
    var socket=io("ws://127.0.0.1:8888");
    socket.on('connect', function() {
        console.log("与服务其断开");
        socket.emit("cd","aaaa")
    });
</script>


nodejs


/**
 * Created by 18468 on 2017/5/18.
 */
var http=require("http");
var count = 0;
var server1 = http.createServer(function (req,res){
}).listen(3001,"127.0.0.1");

var io = require('socket.io').listen(server1);//var io = require('socket.io').listen(8888);这样换端口号
io.sockets.on('connection',function(socket){
    count++;
    console.log('User connected');
    console.log(count)
    socket.emit('message',{text:'你上线了'});
    socket.broadcast.emit('message','你的好某XXX上线了');
    socket.on('disconnect',function(){
        count--;
        console.log(count)
        console.log('User disconnected');
    });
    socket.on("cd",function(data){
        console.log(data)
    })
});


nodejs2

var io = require('socket.io')(80);
//io.sockets.sockets[socket.id].emit("system","aaaa") //这样就不用存实例socket了
var arr=[];
io.on('connection', function (socket) {
    socket.on("name",function(data){
            console.log(data);
    });
    socket.on('message', function (data) {
        console.log(data)
    });
    socket.on('disconnect', function () {
        console.log("离开");
        console.log(socket.id);  //拿到的是当前推出的人的socketid
    });
    socket.on("cd",function(data){
        console.log(data)
    });
});



nodejs3 

     客户端 :  

    

 var socket=io("ws://127.0.0.1");
    socket.on('connect', function() {
      
        socket.emit("cl",{"name":"cd"},function(oo){   //看好了,emit 有三个参数  最后一个是函数
            alert(oo);
        });
    });
  

   服务端


  重点是  原理与 jsonp 相似

socket.on("cl",function(data,fn){
        console.log(data);   //接受到的数据
        fn("aaa");   //执行客户端的函数,客户端端的 alert 出来 "aaa"   
    })

 nodejs4 

       客户端

        

socket.emit("name","a","b")
   服务端

    一一对应

 socket.on("name",function(data1,data2){    //这里的参数与 客户端的参数 一一对应
        console.log(data1)   //a    
        console.log(data2)   //b
        
    });

    

参考地址:http://www.cnblogs.com/lxxhome/p/5980615.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值