Netzwerkspiel???



  • Hi,
    wie proggrammiert man den Mecanismus der alle IPs findet auf denen auch dieses Spiel läuft und dann eine Liste anzeigt.

    Danke

    Alexander Sulfrian



  • du schickst einfach einen broadcast (natürlich nur im lan!) und prüfst, ähnlich einem portscan, ob die antwortenden rechner auf deinem spieleport auf verbindungen warten. wenn ja -> ip in eine liste (z.b. vectorstd::string ), wenn nein, auf zur nächsten. wie du die liste dann ausgibst, is deine sache, sei es eine TListbox, oder was auch immer 🙂



  • Hi,
    danke erstmal! Nur noch 2 Fragen:

    1. Wie schicke ich einen broadcast und wie prüfe ich, ob die antwortenden rechner auf deinem spieleport auf verbindungen warten? 😞

    2. Wie kann ich das im I-Net machen?

    Danke

    Alexander Sulfrian

    PS: Ich hab auch Indy, fals das hilft?

    [ Dieser Beitrag wurde am 16.01.2003 um 21:50 Uhr von Alexander Sulfrian editiert. ]



  • ein broadcast machst du, in dem du icmp pakete an das ganze netz schickst. wie das genau geht weis ich jetzt nicht, habs noch nie gebraucht. glaube es geht so, dass du einfach an jede adresse in einem subnetz einen ping schickst. (google nach nem ping beispiel in c oder c++, schlagwort icmp). entsprechend kriegste antworten oder keine ;).
    prüfen, ob auf dem rechner ein game läuft, kannst du ganz einfach, indem du schaust, ob der port offen ist (du connecten kannst). das wiederum kannst du zum beispiel gleich nutzen, um im erfogsfall (spiel existiert) gleich die spielinformationen einzuholen. kannst du nicht connecten -> kein game offen.

    ps: was is indy?

    edit: zu 2.: wenn du über interneg gehst, musst du es so machen wie bei cs und den ganzen games: ein rechner sammelt die gameserveradressen. die server verbinden sich beim öffnen des servers entsprechend zu diesem masterserver und teilen ihm mit: "ich hab ein game xyz mit den und den eigenschaften offen"

    [ Dieser Beitrag wurde am 16.01.2003 um 23:42 Uhr von Korbinian editiert. ]


Anmelden zum Antworten