【发布时间】:2016-07-13 17:11:34
【问题描述】:
我开始了一个简单的 express+socket.io 项目。 在服务器上,我注册了套接字的“连接”事件,然后我向客户端发送了一条消息。这很好用。
当我在客户端从服务器接收到消息时,在这个事件处理程序中我执行 socket.emit('message', 'some text');
此消息未到达服务器。 我知道它应该非常简单,因此我认为我错过了一些愚蠢的东西。 任何帮助表示赞赏。
服务器代码:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.get('/', function (req, res) {
res.sendfile('index.html');
});
io.on('connection', function (socket) {
console.log('a user connected');
io.emit('server-message', 'hello socket.io server');
});
io.on('message', function(message) {
console.log(message);
});
客户端代码:
window.socket = io.connect('http://localhost:3000');
socket.on('server-message', function (message) {
console.log(message);
socket.emit('message', 'hello socket.io from browser');
});
【问题讨论】:
-
我发现了一件很棘手的事情,希望你在模拟器上的时区和时间在你实时的时候是对的!否则它会吃掉消息