node中socket.io的事件使用详解

2020-06-17 06:53:09易采站长站整理

 


可以发现一点:执行总是在监听端,而不是手动执行端.

案例2:在手动触发对方事件时,指定回调函数.

当客户端和服务端连接后,向客户端发送setName事件,事件携带”张三”,触发事件时,指定一个回调函数,该回调函数向控制台输出2个参数值.


 var http=require(“http”);
 var sio=require(“socket.io”);
 var fs=require(“fs”);
 var server=http.createServer(function (req,res) {
     res.writeHead(200,{“Content-type”:”text/html”});
     res.end(fs.readFileSync(“./index.html”));
 });
 server.listen(1337);
 var socket=sio.listen(server);
 socket.on(“connection”, function (socket) {
     socket.emit(“setName”,”张三”, function (data1,data2) {
         console.log(data1);
         console.log(data2);
     });
 });


 <!DOCTYPE html>
 <html>
 <head lang=”en”>
     <meta charset=”UTF-8″>
     <title></title>
     <script src=”/socket.io/socket.io.js”></script>
     <script>
         var socket=io.connect();
         socket.on(“setName”, function (name,fn) {
            console.log(name);
             fn(“李四”,”王五”);
         });     
     </script>
 </head>
 <body>
 
 </body>
 </html>
执行结果:

回调函数实在触发端执行的.