Ich benutze peer.js und versuche, alle eingehenden Verbindungen in einem Array zu speichern.Wie Peer-Verbindungen in Array gespeichert werden
Hintergrund der App: Computer fungiert als Hauptkonsole. Telefone verbinden sich mit der Konsolen-Peer-ID mit der Konsole und senden der Konsole ihre Peer-ID. Die Konsole liest dann jede Peer-ID ein und erstellt eine Datenverbindung damit.
Ich versuche, die Verbindungen in einem Array zu speichern, und dann kann ich die Verbindung in jeder Funktion aufrufen, die ich brauche. Wenn ich versuche, die Verbindung zur Funktion 'SendPhonePlayerDetails' zu übergeben, wird die Verbindung als undefiniert ausgegeben.
//establish a connection
//data.pid is the peer id of the phone
connections[current_player] = peer.connect(data.pid);
setTimeout(function() {
sendPhonePlayerDetails(connections[current_player]);
},'2000');
function sendPhonePlayerDetails(connection)
{
console.log(connection) //prints undefined;
player_num = Object.size(players); //get the player number
player_name = players["p" + player_num][1] //get the players name
//send data to the phone
setTimeout(function() {
send_data({player_number: player_num, player_name: player_name }, connection);
},'2000');
//if not player 1 notify them who is the leader
if(player_num > 1){
setTimeout(function() {
send_data({controlling: players["p1"][1] }, connection);
},'2000');
}
}
function send_data(data, connection)
{
if (!connection) return;
connection.send(data); //send the data to the phone
}
Klingt wie 'current_player' ist keine gültige Referenz dann. Überprüfst du seinen Wert? – mscdex
Ja. Ich bin in der Lage zu loggen den aktuellen Player # @mscdex –
Wenn Sie 'console.dir (Object.keys (Verbindungen))', zeigt es den Schlüssel in 'current_player' ab dem (ersten) Timeout-Callback enthalten? – mscdex