aktiver socket im netzwerk



  • hallo,

    wie kann ich einen aktiven server(socket) im netzwerk finden? zb bei einigen online games wird ja automatisch ein server angezeigt, wenn ein anderer diesen im netz erstellt.

    wie kann ich das für meine server-client anwendung realisieren?

    ps:
    mfc - socket - CAsyncSocket



  • Soweit mir bekannt ist, melden sich Spiele meistens an einem anderen Server mit fester IP an. Welcher wiederum von dem Clienten, der sich verbinden will abgefragt wird. Sofern du also keinen Server hast, wird das ganze wohl recht schwierig sein. Wenn du trotzdem eine Lösung hast wäre ich sehr interessiert daran, da ich derzeit auch an einem Netzwerk-/Internetprojekt arbeite.



  • hmm emperor irgendwie kann des net ganz sein, wenn man z.b. cs im lan spielt sieht man ja auch offene server, ohne dass man im inet auf einen server connected der einem sagt wo es spiele gibt, oder ?



  • Original erstellt von phippse:
    hmm emperor irgendwie kann des net ganz sein, wenn man z.b. cs im lan spielt sieht man ja auch offene server, ohne dass man im inet auf einen server connected der einem sagt wo es spiele gibt, oder ?

    das ist korrekt, auch bei anderen spielen ist das möglich. Ich denke das an dieser Stelle das Netzwerk nach entsprechenden Signaturen des Sockets durchsucht wird, nur wie das geht würde mich interessieren.



  • Im LAN ist es auch relative einfach da hier max 244 IP-Adressen durchsucht werden müssen.

    Im WAN ist das unmöglich. Kenne zwar die CS-Server nicht aber ich denke das sich die Server die IP-Adressen der anderen Server gegenseitig austauschen.
    Sollte dann einer eine bestimmte Zeit nicht erreichbar sein wird er gelöscht.

    Im Grunde wie das Edonkeynetz. Jeder Client gibt seine Serverliste an andere Clienten weiter.



  • @Unix-Tom: 244 IP-Adressen sind es nur in einem Klasse C-Netzwerk.



  • Original erstellt von phippse:
    hmm emperor irgendwie kann des net ganz sein, wenn man z.b. cs im lan spielt sieht man ja auch offene server, ohne dass man im inet auf einen server connected der einem sagt wo es spiele gibt, oder ?

    Das ganze nennt sich Broadcast. Sowiet ich weiß Broadcasten (senden an alle im Netzwerk) alle "offenen" Spiele ihre Daten alle paar Sekunden übers LAN. Das geht natürlich auch nur IM LAN. Broadcasts kann man an spezielle IP-Adressen machen, 255.255.255.255 sendet z.B. an alle Rechner im LAN.

    Da Broadcasten im Internet natürlich nicht geht (würde DoS-Angriffe auf das ganze Inet massiv erleichtern ;)) wird da die Zentral-Server-Lösung genommen. Bei Half-Life sind das z.B. die WON-Server die ab und zu mal ausfallen 🙂

    [ Dieser Beitrag wurde am 12.03.2003 um 12:45 Uhr von TriPhoenix editiert. ]



  • und wie kann ich im lan so einen broadcast durchführen?



  • Original erstellt von FuXs:
    und wie kann ich im lan so einen broadcast durchführen?

    //auch wissen will



  • google weis es...



  • google wills aber gar nicht wissen, sondern ich. 😞



  • angeblich sollte das ja durch ping x.x.x.255 funktionieren, tuts aber nicht. (unter win2k, winxp) 😡


Anmelden zum Antworten