簡體   English   中英

Socket.io客戶端套接字未發出

[英]Socket.io Client-Side socket not emitting

因此,我正在運行一個簡單的后端節點應用程序,其中的socket.io與運行Socket.io的客戶端JavaScript通信。

我可以在客戶端上接收消息(我控制台記錄它們),但是沒有收到我向服務器發送事件的回調函數。 我認為,根據我的研究,可能會出現一些我看不到的無聲失敗的事情。

客戶端代碼:

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記錄接收到的連接,但是它從不記錄或識別從客戶端接收到的任何事件。 有什么想法嗎? 我真的覺得我沒有得到一些無聲的錯誤。

在連接中使用回調套接字。 命名空間“我是客戶端”永遠不會從前端客戶端發出,因此它什么都不做。 在'新狀態'服務器應該是。

socket.on('new_state', function(data) {
    console.log('From Client ' + data);
    socket.emit('updated_state', { state: [1,2,3,4] });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM