NodeJSでsocket.ioを使用してMooMoo.ioのボットを作成しています。ボットが一族招待状を受け入れない限り、すべてがうまくいくようです。ここでNodeJS socket.ioソケットが出ない
が壊れている部分である。
socket.emit("11", a, 1); // a = player ID
ここに私のコードは次のとおりです。
const io = require("socket.io-client");
var socket = io.connect("http://52.39.43.139:" + (5006) + '', {
reconnection: false,
query: "man=1"
});
var n = 0;
function spawn(i) {
n++;
if (n >= 10) return null;
socket = io.connect("http://52.39.43.139:" + (5000 + i % 11) + '', {
reconnection: false,
query: "man=1"
});
socket.once("connect",() => {
socket.emit("1", {name: "ME"}); // spawn
socket.emit("10", "ME"); // request to join clan
});
}
socket.once("connect",() => {
socket.emit("1", {
name: "ME"
}); // spawn
socket.emit("8", "ME"); // create clan
console.log("Clan created");
});
team = [];
var i = 0;
setInterval(() => spawn(i), 3000);
socket.on("an", (a, name) => { // player requests to join clan event
socket.emit("11", a, 1); // accept invite
console.log(`${name} successfully joined :)`);
team.push(a);
console.log(team);
});
socket.on("ad", (a) => { // player leaves clan event
for (var c = team.length - 1; c >= 0; c--)
if (team[c].sid == a) {
team.splice(c, 1);
console.log(team[c].name + ' has left');
}
console.log(team);
});
socket.on("11",() => { // respawn event
console.log("I have died, respawning...")
socket.emit("1", { // spawn event
name: "ME"
});
});
これはかなり混乱するコードです。あなたが達成しようとしていることを正確に記述して、どのコードがクライアントコードであり、どのコードがサーバーコードであるかを非常に明確にしてください。また、私はあなたが 'io.connect()'を3秒ごとに実行しているのを見ています(これは通常socket.ioをどのように使用するかのようには見えません)。しかし、切断しているとは思わないので、 。 – jfriend00
@ jfriend00こんにちは。これはすべてここのクライアントコードです。私はmoomoo.ioサーバーへの5つの接続を作成しようとしています。それから私はそれらのボットを産んで部族に参加させようとしています。 –
さて、私は "部族に出て参加する"という意味がわからないので、私は助けないと思います。 – jfriend00