So senden Sie in einem Java-Netzwerk

8

Es ist mein erstes Programmiernetzwerk in Java. Ich war auf der Suche nach einer Möglichkeit zu senden, um irgendwie an alle Knoten in der gesamten Vernetzung zu senden. Um sie von meiner Existenz wissen zu lassen. Ich versuche ein Multiplayer-Netzwerkspiel zu erstellen, und ich möchte, dass die Clients alle verfügbaren Spiele sehen können, um auszuwählen, welchem ​​man beitritt. Ich möchte wissen, wie man vom Server aus sendet und wie man die Clients aufhorchen lässt.

Bitte machen Sie es einfach, ich bin ein Neuling:)

Vielen Dank im Voraus.

    
Pro.Hessam 04.07.2011, 07:21
quelle

3 Antworten

6

Um Datenpakete zu senden, senden Sie sie an die Broadcast-Adresse des angegebenen Subnetzes (die letzte Adresse des Subnetzes). Die IP 255.255.255.255 ist die Broadcast-Adresse für das Zero-Netzwerk .

  

Für die IP-Broadcast-Adresse 255.255.255.255 existiert eine spezielle Definition. Es ist die Broadcast-Adresse des Null-Netzwerks oder 0.0.0.0, die in Internet-Protokoll-Standards für dieses Netzwerk, d. H. Das lokale Netzwerk, steht. Die Übertragung an diese Adresse ist per Definition begrenzt, da sie niemals von den Routern weitergeleitet wird, die das lokale Netzwerk mit dem Internet verbinden.

Broadcast-Adresse

Senden Sie die Pakete also an 255.255.255.255 .

, um sie an Ihr aktuelles Netzwerk zu senden     
Jacob 04.07.2011, 07:34
quelle
2

Verwechsle Begriffe nicht.

Broadcast wird normalerweise für UDP verwendet. UDP ist in dem Sinne unzuverlässig, dass es nicht prüft, ob alle Pakete von den Clients empfangen werden. Das Öffnen vieler TCP-Verbindungen zu vielen Clients wird nicht übertragen.

Damit Ihre Clients einen Port abhören können, müssen Sie ServerSocket verwenden und es lesen.

    
SJuan76 04.07.2011 07:28
quelle
0

Ich empfehle Ihnen, PubSubHubbub oder ein ähnliches Protokoll zu verwenden. Im Grunde würden Sie einen "Hub" haben, an den Sie die Benachrichtigung senden, die Sie "ausgestrahlt" haben möchten. Jeder der Knoten subskribiert das Thema, indem er eine URL bereitstellt, die der Hub aufrufen kann, wenn neue Daten angekommen sind. Wenn der "Hub" diese Übertragung empfängt, kontaktiert der Hub jede Subskriptions-URL, um dem Knoten mitzuteilen, dass neue Daten vorhanden sind.

    
Michael Aaron Safyan 04.07.2011 07:38
quelle