myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Netzwerktechnologien » Nachricht per UDP an Netzwerk senden
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Nachricht per UDP an Netzwerk senden

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Saavedro
myCSharp.de-Mitglied

Dabei seit: 28.04.2004
Beiträge: 4
Entwicklungsumgebung: Visual Studio 2003 .NET
Herkunft: Potsdam


Saavedro ist offline

Nachricht per UDP an Netzwerk senden

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo,

Im Moment bin ich dabei, ein kleines Netzwerkspiel zu basteln. Dabei soll einmal die Möglichkeit bestehen, ein Spiel auf seinem Rechner zu hosten oder eben einem Spiel beizutreten.
Nun stehe ich vor dem Problem, wie ich effektiv alle Hosts im Client auflisten kann. Soweit ich weiß läuft es doch bei "normalen" Spielen so, dass die Hosts dauerhaft eine Nachricht über UDP herausschicken, die im gesammten Netzwerk von einem auf entsprechendem Port hörendem UDP-Client empfangen werden kann. Dafür griff ich bisher zu einem System.Net.Sockets.UdpClient-Element, bekam es aber nicht wirklich hin.
So also meine Frage: Wie bekomme ich das hin? Hat da jeman eine Lösung für oder einen Link? Prinzipiell reicht mir auch ein Schubs zu der/den benötigten Funktionen, ich bastel gerne selbst weiter fröhlich

mfg & besten Dank
28.04.2004 09:09 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Lynix Lynix ist männlich
myCSharp.de-Mitglied

Dabei seit: 08.04.2004
Beiträge: 667
Entwicklungsumgebung: VS .NET 2005 / 2008 Pro.
Herkunft: Saarland


Lynix ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Warum machst Du Dir nicht eine ArrayList in Deinem Client und lässt einen Host, sobald er "lebendig" wird ein Event losschicken, dass von allen Client abonniert wird, woraufhin die Clients den Host und die notwendigen Verbindungsinfos in ihrer ArrayList abspeichern ?

Wird ein Host geschlossen oder meldet sich aber, oder sonstwas, schickt er wieder ein entsprechendes Event an alle Clients woraufhin die Clients ihn wieder aus der Arraylist rauswerfen.

Wäre nur so ne Idee und ich bin nicht sicher ob das das ist was Du eigentlich wissen wolltest.
28.04.2004 13:05 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Saavedro
myCSharp.de-Mitglied

Dabei seit: 28.04.2004
Beiträge: 4
Entwicklungsumgebung: Visual Studio 2003 .NET
Herkunft: Potsdam

Themenstarter Thema begonnen von Saavedro

Saavedro ist offline

nope

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Danke für die Antwort, aber es ist nicht ganz das, was ich suche.
Bei dem was du schreibst würde es ja voraussetzen (zuminest sehe ich das so), dass es einen festen Host geben muss, der die entsprechenden Daten verschickt. Das soll aber nicht der Fall sein, bei dem Spiel kann jeder selbst entscheiden ob er ein Spiel hosten möchte oder einem irgendo im Netzwerk vorhandenem beitreten. Der Client muss dazu also irgendwie wissen, wo ein Spiel offen ist.
Aus dem Grunde wollte ich erreichen, dass der Host, sofern er auf einen Teilnehmer wartet, eine UDP-Nachricht in die Netzwerkgruppe sendet welches von Clients empfangen werden kann. TCP/IP ist ungünstig da ich dort ja wieder eine richtige Verbindung aufbauen muss...

Beispiel vielleicht zur Verdeutlichung: Sagen wir alle Spieler befinden sich im LAN und haben eine IP im Bereich 192.168.12.000 bis 192.168.12.255. Nun soll jemand, der ein Spiel hostet, diesem gesammten Bereich eine Nachricht schicken (auf einem bestimmten Port) welcher von Clients im gleichen Bereich empfangen werden kann sofern sie auf jenem Port lauschen.

Was mir fehlt ist eben die Funktion, wie ich eine Nachricht an diesen ganzen IP-Bereich schicken kann. Mittels Schleife ist es recht unschön finde ich, es muss doch irgendwie auch anders gehen, oder?

Grüße und noch einen schönen Abend,
28.04.2004 20:49 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Currywurst Currywurst ist männlich
myCSharp.de-Mitglied

Dabei seit: 09.04.2004
Beiträge: 10
Entwicklungsumgebung: VS .NET 2003 Std.
Herkunft: Hannover


Currywurst ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

also bei ip adressen sind 255 die broadcast adressen, für dein fall also einfach eine udp an 192.168.12.255 und es macht was du willst!, falls nicht mach an 255.255.255.255, das klappt sicher

in der praxis übrigens senden die clients ein broadcast wenn sie einen server suchen, und die vorhanden server antworten dann darauf, also andersrum wie du es vorhast.
29.04.2004 12:11 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Saavedro
myCSharp.de-Mitglied

Dabei seit: 28.04.2004
Beiträge: 4
Entwicklungsumgebung: Visual Studio 2003 .NET
Herkunft: Potsdam

Themenstarter Thema begonnen von Saavedro

Saavedro ist offline

Danke

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Vielen Dank für die Antwort.

Werde ich dann gleich einmal ausprobieren.

Grüße
29.04.2004 13:08 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Currywurst Currywurst ist männlich
myCSharp.de-Mitglied

Dabei seit: 09.04.2004
Beiträge: 10
Entwicklungsumgebung: VS .NET 2003 Std.
Herkunft: Hannover


Currywurst ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

erst probieren und dann antworten wär sinnvoller :-)
29.04.2004 13:17 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Saavedro
myCSharp.de-Mitglied

Dabei seit: 28.04.2004
Beiträge: 4
Entwicklungsumgebung: Visual Studio 2003 .NET
Herkunft: Potsdam

Themenstarter Thema begonnen von Saavedro

Saavedro ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

also, es funktioniert mit den 255 an entsprechender stelle bestens. danke dir

Grüße
29.04.2004 19:09 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 16 Jahre.
Der letzte Beitrag ist älter als 16 Jahre.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 27.09.2020 06:48