javascript - Socket.io 客户端没有收到来自服务器的消息
问题描述
我正在为 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>
我在服务器端得到消息控制台,但在控制台客户端中没有服务器应答。
我该如何解决?
解决方案
要广播,只需添加一个广播标志来发出和发送方法调用。广播意味着向除了启动它的套接字之外的其他所有人发送消息。
推荐阅读
- vb.net - 单击标题栏后,Vscrollbar 不会消失
- javascript - 我的 nodejs/express 应用程序的引导前端不断中断
- c# - EWS 流重新订阅延迟
- python - 从 3D 张量列表和列表创建字典
- spring - 创建 jhipster - MongoDb 出现错误
- mysql - 带有队列表的MYSQL死锁
- javascript - onclick 仅适用于第一个元素,第一次单击后不起作用
- c# - UserParametersInfo 不会空白桌面壁纸
- json - 我可以将外部数据源指定为 openapi 模式对象中枚举的可接受值吗?
- nuxt.js - Nuxtjs 'npm generate' 不起作用,某些页面出现 401 错误