TCP Chat Server suchen und in ComboBox anzeigen

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von Byte.

    TCP Chat Server suchen und in ComboBox anzeigen

    Moin,

    Wie kann ich es machen das automatisch bei Programm start das lokale Netzwerk nach TCP Servern durchsucht und diese dan in einer ComboBox anzeigen mit name und unsichtbar die IP/Port damit ich diesen danach zum beitreten nutzen kann.

    Und dan bräuchte ich noch einen Server der beim start erst einen namen gegeben werden kann und diesen dan im lokalen netzwerk berreitstellt damit der Client diesen finden kann wie oben beschrieben?



    DANKE!!


    MFG
    chrissi
    C&P wirst du jetzt nicht finden aber ich kann dir sagen wie ich es gemacht habe:
    Ich lasse alle neuen server bei meinem RegiServer "registrieren"
    Dann lass ich mir beim Client einfach die ServerListe anzeigen

    Tobi

    If ...... then
    connect()
    end if

    edit: es gibt soweit ich weiß eine imports anweisung für ping ich such mal schnell in google danach
    edit2: achja for schleife nicht vergessen für die ips
    edit3: My.Computer.Network.Ping(xxx)
    edit4 (letztes edit :D):[VB 2008] Ping Anfrage

    Juhuu gefunden: msdn.microsoft.com/de-de/libra…workinformation.ping.aspx

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „FinnSoft“ ()

    Es gibt eigentlich nur 1 wirkliche Methode, dafür benötigst du einen Master-Server wo alles Server-IP's angezeigt werden.


    Das mit dem anpingen bringt nichts, da du eine range von 0.0.0.0 bis 255.255.255.255 anpingen musst, würde einfach Jahre dauern.

    Also ein Master-Server erstellen, sobald ein Server Online kommt sendet dieser Server seine IP an denn Master-Server und du kannst so alle IP's vom Master-Server abrufen.

    Animix schrieb:

    Das mit dem anpingen bringt nichts, da du eine range von 0.0.0.0 bis 255.255.255.255 anpingen musst, würde einfach Jahre dauern.

    nicht nötig, du könntest beispielsweise das lokale netz durchsuchen (möglicherweise musst du nen Verweis hinzufügen):

    VB.NET-Quellcode

    1. Dim root As New System.DirectoryServices.DirectoryEntry("WinNT:")
    2. For Each dDom As System.DirectoryServices.DirectoryEntry in root.Children
    3. For Each dPC As System.DirectoryServices.DirectoryEntry in dDom.Children
    4. 'irgendwas damit machen, z.b die IP-Adresse anpingen
    5. Next
    6. Next



    allerdings muss ich zugeben das ein masterserver vermutlich trotzdem am besten wäre
    Hier ne theorie wie du den Namen sendest und in ListBox anzeigtst:
    Der Client sendet nach verbinden den namen.
    Im event , in den der Server empfängt Addest du es in z.B einen String und ";" dann Sendest du die "Aktualisierte" Userliste an den/die Clients.
    Die clients Splitten dass:

    VB.NET-Quellcode

    1. Dim empfangen As String = EmpfangenvonServer
    2. Dim split As String() = empfangen.Split(";")
    3. For Each Array In split
    4. ListBox1.Items.Add(Array)
    5. Next


    Müsste gehen?! Und dann hast du in listbox1 eine userlist