zoukankan      html  css  js  c++  java
  • node中的socket.io制作命名空间

    如果开发者想在一个特定的应用程序中完全控制消息与事件的发送,只需要使用一个默认的"/"命名空间就足够了.但是如果开发者需要将应用程序作为第三方服务提供给其他应用程序,则需要为一个用于与客户端连接的socket端口定义一个独立的命名空间.

    io.of(namespace)

    制作两个命名空间

    chat和news然后在客户端相互发送信息.

     1 var express=require("express");
     2 var http=require("http");
     3 var sio=require("socket.io");
     4 var app=express();
     5 var server=http.createServer(app);
     6 app.get("/", function (req,res) {
     7     res.sendfile(__dirname+"/index.html");
     8 });
     9 server.listen(1337,"127.0.0.1", function () {
    10     console.log("开始监听1337");
    11 });
    12 var io=sio.listen(server);
    13 var chart=io.of("/chat").on("connection", function (socket) {
    14     socket.send("欢迎访问chat空间!");
    15     socket.on("message", function (msg) {
    16         console.log("chat命名空间接收到信息:"+msg);
    17     });
    18 });
    19 var news=io.of("/news").on("connection", function (socket) {
    20     socket.emit("send message","欢迎访问news空间!");
    21     socket.on("send message", function (data) {
    22        console.log("news命名空间接受到send message事件,数据为:"+data);
    23     });
    24 });
     1 <!DOCTYPE html>
     2 <html>
     3 <head lang="en">
     4     <meta charset="UTF-8">
     5     <title></title>
     6     <script src="/socket.io/socket.io.js"></script>
     7     <script>
     8         var chat=io.connect("http://localhost/chat"),
     9             news=io.connect("http://localhost/news");
    10 
    11         chat.on("connect", function () {
    12             chat.send("你好.");
    13             chat.on("message", function (msg) {
    14                 console.log("从char空间接收到消息:"+msg);
    15             });
    16         });
    17         news.on("connect", function () {
    18             news.emit("send message","hello");
    19             news.on("send message", function (data) {
    20                 console.log("从news命名空间接收到send message事件,数据位:"+data);
    21             });
    22         });
    23     </script>
    24 </head>
    25 <body>
    26 
    27 </body>
    28 </html>

    运行结果:

  • 相关阅读:
    第三周作业
    第二周作业
    计算机基础学习心得
    第三次作业
    第2次作业(指针总结)
    2018(上)C高级第0次作业
    本学期最后一次作业 总结。
    第十四、十五周作业
    第七周作业
    第六周作业
  • 原文地址:https://www.cnblogs.com/guoyansi19900907/p/4162206.html
Copyright © 2011-2022 走看看