0
我在HTTPS網站上啓用了個人userscript。 userscript使用Socket.io客戶端API連接到我的PC上的Node.js TCP服務器將Socket.io瀏覽器客戶端連接到本地Node.js網絡服務器
服務器注意到客戶端正在連接到服務器,但客戶端不會注意到連接,而是改爲接收來自瀏覽器控制檯
無法加載資源此錯誤:淨:: ERR_TIMED_OUT
我不知道如何解決這個錯誤,但我假設它有某種因與Socket.io和Net彼此不兼容或者網站不允許連接發生
這裏是我的客戶端代碼
socket.on('connect', function() {
console.log('CONNECTED TO SERVER');
socket.on('message', function(msg) {
messageReceive(msg);
});
setInterval(runRoutine, 1000);
});
我的服務器代碼
var net = require('net');
var clients = [];
var port = 8841;
net.createServer(function(socket) {
socket.name = socket.remoteAddress + ':' + socket.remotePort;
clients.push(socket);
broadcast(socket.name + " has connected to the server", socket);
socket.on('message', function(data) {
broadcast(socket.name + "<>" + data, socket);
});
socket.on('end', function() {
clients.splice(clients.indexOf(socket), 1);
broadcast(socket.name + '<>disconnected', socket);
});
function broadcast(message, sender) {
console.log(message);
clients.forEach(function(client) {
if(client === sender) return;
//client.write(message);
});
}
}).listen(port);
console.log("Chat server running at port " + port);
您不能這樣做,因爲服務器端的套接字是TCP套接字,而不是套接字套接字,所以您不會收到消息事件。爲什麼你使用TCP服務器而不是socket.io服務器? – mscdex