我有一个非常基本的设置与socket.io但我无法让我的服务器发送回消息,一旦建立连接。socket.io不发送事件从服务器到客户端连接
当连接建立到我的服务器时,我希望服务器发回消息给客户端。我试着用下面的代码来实现:
服务器
// Modules
var fs = require('fs');
var https = require('https');
// Certificate
var options = {
pfx: fs.readFileSync('<my cert>')
};
// Create Server
httpsServer = https.createServer(options);
// Create websocket
var io = require('socket.io')(httpsServer);
// Listen on a port
httpsServer.listen(4000,function() {
console.log('listening on *:4000');
});
io.on('connection', function(socket) {
console.log('a user connected');
socket.emit('test','you connected');
});
客户
var socket = io('https://<my server>:4000');
当我执行这个代码,网页套接字被建立,我的服务器控制台显示消息"a user connected"
。但是,消息['test','you connected']
不会通过套接字发出。
我一直能够得到这个工作的唯一方法是使用setTimeout()
等待500毫秒才发出事件,在这种情况下,它的工作。
这是为什么?如何配置我的服务器,以便在用户连接后立即自动回复消息?
检查我的答案,让我知道,它的工作完全没有给我。 –
你的客户端代码是什么样的? – usandfriends