Javascript socket.io重新连接socket.socket.connect不';行不通
很抱歉再次发布此问题,但大多数相关帖子都没有回答我的问题。 我在使用socket.io的多个连接时遇到问题 我没有使用“socket.socket.connect”方法,但是我从第一次连接中得到了反馈 这是我的结构:Javascript socket.io重新连接socket.socket.connect不';行不通,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,很抱歉再次发布此问题,但大多数相关帖子都没有回答我的问题。 我在使用socket.io的多个连接时遇到问题 我没有使用“socket.socket.connect”方法,但是我从第一次连接中得到了反馈 这是我的结构: var iosocket = null; var firstconnection = true; var ip = "http://xxx.xxx.xxx" var ipPort = 8081 function callSocket() { iosocket = null
var iosocket = null;
var firstconnection = true;
var ip = "http://xxx.xxx.xxx"
var ipPort = 8081
function callSocket() {
iosocket = null;
iosocket = io.connect(ip,{port:ipPort,rememberTransport:true, timeout:1500});
if (firstconnection) {
firstconnection= false;
iosocket = io.connect(ip,{port:ipPort,rememberTransport:true, timeout:1500});
iosocket.on('connect', function () {console.log("hello socket");});
iosocket.on('message', function(message) {});//end of message io.socket
iosocket.on('disconnect', function () {console.log("disconnected");});
} else {
if (iosocket.connected === true) {
console.log("heyhey still connected");
iosocket.disconnect();
}
iosocket.socket.connect(ip,{port:ipPort,rememberTransport:true,timeout:1500});
}
};
它根本没有从第二次连接中得到任何反馈我想我知道这为什么不起作用了。对于服务器端代码,这对于socket.io似乎不正确。
connect
方法用于客户端而不是服务器。我认为您正在尝试使服务器侦听端口。在这种情况下,您应该执行以下操作:
var socket = require('socket.io');
var express = require('express');
var http = require('http');
var app = express();
var server = http.createServer(app);
var io = socket.listen(server);
io.on('connection', function (client) {
client.on('someEvent', function(someVariables){
//Do something with someVariables when the client emits 'someEvent'
io.emit('anEventToClients', someData);
});
client.on('anotherEvent', function(someMoreVariables){
//Do more things with someMoreVariables when the client emits 'anotherEvent'
io.emit('anotherEventToClients', someMoreData);
});
});
server.listen(8000);
我只是通过添加
<!DOCTYPE html>
在html的顶部,这是您的客户机代码还是服务器代码?您希望代码的其他部分在什么情况下执行?脚本的这一部分位于服务器端@BlubberGuy22如果需要检查第一个连接,我有两个游戏需要不同的连接。我正在考虑更改代码逻辑,并打开一个连接。管理这两场比赛,但我想知道为什么我被困在这里。