簡體   English   中英

“連接”事件未觸發客戶端套接字

[英]“connect” event not firing client-side socketio

我正在使用socketio 1.0.4版本。 一切工作正常,但客戶端的connect事件未觸發。

client.js

//establish the connection with our NodeJS server
var socket = io.connect('http://localhost:3000');
socket.on("connect", function(){
    console.log("connection made");
    socket.emit("room", {"room": "harness"});
});
socket.on('refresh', function (data) {
    //refresh the page
    console.log("Refreshing page");
    //document.location.reload(true);
});

server.js

var socketIO = require("socket.io")(server);
socketIO.on('connection', function(socket){
    logger.info("Connection to socket made:" + socket.id);
    socket.on("room", function(data){
        socket.join(data.room);
        console.log(this.id + " joined room - " + data.room);
    });
    socket.on('disconnect', function(){
        logger.info("socket disconnected:" + this.id);
    });
});

我在服務器端使用express 在服務器上一切正常。

更新:

我正在使用sinonjs偽造某些xmlhttprequest調用。 但我不是在偽造socketio電話。 我認為socketiosinonjs混合不好。

您確定其他所有功能都正常嗎?

這部分代碼在我的1.0.6 socket.io庫中生成“已連接”

var socket  = io.connect();

socket.on('connect', function() {
    console.log('connected');
});

相反,socket.io沒有它的本機刷新功能,所以我不知道您為什么聲稱這會在刷新頁面時觸發。

socket.on('refresh', function (data) { ... } ) 

暫無
暫無

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

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