Socket.io 客户端套接字不发射
Socket.io Client-Side socket not emitting
所以我是 运行 一个简单的后端节点应用程序 socket.io 与客户端通信 javascript 运行 socket.io。
我可以在客户端很好地接收消息(我控制台记录它们),但是没有接收到我将事件发回服务器的回调函数。我认为根据我的研究,可能有一些我看不到的无声失败。
客户端代码:
socket.on('connection', function(socket) {
socket.on('welcome', function(data) {
socket.emit('new_state', { data: '1' });
console.log(data);
});
socket.emit('new_state', {data: '1'});
socket.on('time', function(data) {
console.log(data);
socket.emit('new_state', {});
});
socket.on('updated_state', function(data) {
console.log(data);
});
});
服务器端:
// Socket.io server listens to our app
var io = require('socket.io').listen(app);
// Send current time to all connected clients
function sendTime() {
io.sockets.emit('time', { time: new Date().toJSON() });
}
// Send current time every 10 secs
setInterval(sendTime, 3000);
// Emit welcome message on connection
io.sockets.on('connection', function(socket) {
socket.emit('welcome', { message: 'Welcome!' });
console.log('connection received');
io.sockets.on('i am client', function(data) {
console.log(data);
});
io.sockets.on('new_state', function(data) {
console.log('client->server emits');
io.sockets.emit('updated_state', { state: [1,2,3,4] });
});
});
app.listen(3000);
现在有效的是 app.js 记录收到的连接,但它从不记录或识别从客户端收到的任何事件。有什么想法吗?我真的认为有一些我没有得到的静默错误。
在连接中使用回调套接字。命名空间 'i am client' 永远不会从前端客户端发出,因此它什么都不做。在 'new-state' 服务器应该是。
socket.on('new_state', function(data) {
console.log('From Client ' + data);
socket.emit('updated_state', { state: [1,2,3,4] });
});
所以我是 运行 一个简单的后端节点应用程序 socket.io 与客户端通信 javascript 运行 socket.io。
我可以在客户端很好地接收消息(我控制台记录它们),但是没有接收到我将事件发回服务器的回调函数。我认为根据我的研究,可能有一些我看不到的无声失败。
客户端代码:
socket.on('connection', function(socket) {
socket.on('welcome', function(data) {
socket.emit('new_state', { data: '1' });
console.log(data);
});
socket.emit('new_state', {data: '1'});
socket.on('time', function(data) {
console.log(data);
socket.emit('new_state', {});
});
socket.on('updated_state', function(data) {
console.log(data);
});
});
服务器端:
// Socket.io server listens to our app
var io = require('socket.io').listen(app);
// Send current time to all connected clients
function sendTime() {
io.sockets.emit('time', { time: new Date().toJSON() });
}
// Send current time every 10 secs
setInterval(sendTime, 3000);
// Emit welcome message on connection
io.sockets.on('connection', function(socket) {
socket.emit('welcome', { message: 'Welcome!' });
console.log('connection received');
io.sockets.on('i am client', function(data) {
console.log(data);
});
io.sockets.on('new_state', function(data) {
console.log('client->server emits');
io.sockets.emit('updated_state', { state: [1,2,3,4] });
});
});
app.listen(3000);
现在有效的是 app.js 记录收到的连接,但它从不记录或识别从客户端收到的任何事件。有什么想法吗?我真的认为有一些我没有得到的静默错误。
在连接中使用回调套接字。命名空间 'i am client' 永远不会从前端客户端发出,因此它什么都不做。在 'new-state' 服务器应该是。
socket.on('new_state', function(data) {
console.log('From Client ' + data);
socket.emit('updated_state', { state: [1,2,3,4] });
});