Anschluss von zwei Kunden mit sockel.io durch node.js
Ich versuche, mich zwei clients (die Spieler) miteinander in Kontakt (Austausch zum Beispiel strings) über socket.io. Ich habe diesen code auf den clients (gameId definiert ist, zurück in den code):
var chat = io.connect('http://localhost/play');
chat.emit(gameId+"", {
guess: "ciao"
});
chat.on(gameId+"", function (data) {
alert(data.guess);
});
Während auf dem server habe ich diese (das ist eines der ersten Dinge, die ich tun, und nicht in das routing natürlich)
var messageExchange = io
.of('/play')
.on('connection', function (socket) {
socket.emit('message', {
test: 'mex'
});
});
Grundsätzlich erstelle ich den Kanal, dann, wenn sich Benutzer verbinden Sie den Kanal der Austausch einer Botschaft des Königs "gameId", dass nur die beiden von Ihnen Lesen kann (mit der on.(gameId+"" ...
Zeug.
Mein problem ist, dass wenn Spieler verbinden (erst eine, dann die andere), die erste, die verbunden alarmieren sollte die Daten empfangen (weil sich die zweite, verbunden emittiert eine Nachricht). Kennt jemand von Euch weiß, warum dies nicht passiert ist?
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den sockel.io-server handeln sollte, wie ein Mitte-Mann. Es kann erhalten von Nachrichten von clients und senden von Nachrichten an clients. Er handelt nicht wie ein "Kanal" standardmäßig, es sei denn, Sie haben die server das relay von Nachrichten von clients zu anderen clients.
Gibt es eine Menge gute Infos auf gemeinsame Nutzung auf Ihrer website, http://socket.io und Ihre repo, https://github.com/LearnBoost/socket.io
Ein einfaches Beispiel für einen chat-client könnte so etwas wie dieses:
Während der server könnte handeln, wie diese:
gameId
das kommt auf den server und dann funktioniert der server mit, hab ich Recht? So weit, dann keine "Kommunikation" zwischen clients, das ist im Grunde kein "Kanal". Gut ok danke, ich habe zur Umstrukturierung meines gesamten Anwendung als.