Socket.io客户端不从服务器接收消息

时间:2018-05-23 15:47:07

标签: javascript sockets websocket socket.io

我正在使用Socket.IO作为websockets,我希望客户端在连接时从服务器收到欢迎消息,但它不起作用:

服务器

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 个答案:

答案 0 :(得分:1)

  

要进行广播,只需在emit和send方法中添加广播标志即可   调用。广播意味着向其他所有人发送消息   用于启动它的套接字。

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