代码之家  ›  专栏  ›  技术社区  ›  NekoLopez

socket.io客户端未从服务器接收消息

  •  1
  • NekoLopez  · 技术社区  · 7 年前

    我正在为WebSockets使用socket.io,我希望客户端在连接时在控制台中收到来自服务器的欢迎消息,但它不起作用:

    服务器 :

    var fs = require('fs');
    var https = require('https');
    var express = require('express');
    var app = express();
    var options = {
      key: 
        fs.readFileSync('/myfolder/mykey.pem'),
      cert: 
        fs.readFileSync('/myfolder/mychain.pem')
    };
    
    var serverPort = 3080;
    
    var server = https.createServer(options,app);
    var io = require('socket.io')(server);
    
    app.get('/',function(req,res){
       res.sendFile(__dirname+'/index.html');
    });
    
    server.listen(serverPort, function(){
       console.log('Server is working');
       //console.log(__dirname);
    });
    
    
    io.on('connection', function(socket){
    
     console.log("Connected!");
     socket.broadcast.emit("Welcome","Good day sunshine!");
    });
    

    客户:

    <script src="https://localhost:3080/socket.io/socket.io.js"></script>
    <script>
    var URL_SERVER = 'https://localhost:3080';
    var socket = io.connect(URL_SERVER);
    
    socket.on("Welcome", function(data){
       console.log(data);
    }); 
    
    </script>
    

    我在服务器端得到消息控制台,但在控制台客户端没有得到服务器应答。

    我怎么修?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Fabien Greard    7 年前

    要广播,只需添加一个广播标志来发出和发送方法 电话。广播意味着向所有人发送信息,除了 用于启动它的套接字。

    参考文献: https://socket.io/docs/