IP Adresse ermitteln

  • Hey,


    Ich brauche einmal eure Hilfe im Bereich Basic.
    Dazu die kleine Vorgeschichte und dann kommt die Frage.

    Das Programm:

    Was macht das Programm bis jetzt:
    Es stellt dem Benutzer eine Grafische Oberfläche zu Verfügung über welche der User am Lokalen Computer
    z.B. Prozessor, RAM Auslastung einsehen kann aber natürlich auch Musik starten kann.
    Soweit ja kein Problem. Jetzt zur ersten Besonderheit: Das ganze ist auf Touch Systeme ausgelegt und funktioniert [Habe einen Touch Laptop].


    Das ganze wäre aber langweilig wenn es nur um die Touch Oberfläche ginge: Der Client selbst führt ja entsprechende Kommandos aus und
    startet z.B. Musik auf dem Computer und natürlich reagiert das System nicht auf die Touch Oberfläche sondern hat eine integrierte Sprachsteuerung.


    Das ganze funktioniert hervorragend. Nun gehts aber in die nächste Runde: Unendliche Clients unterstützen (Mehr als 1 Tablet / Touch Laptop).
    Darum soll jetzt die Anwendung getrennt werden: Client und Server. Ansich auch kein Problem: Theorie steht und ist KEINERLEI Problem.


    Nur bin ich etwas faul bzw. verwöhnt: Ich möchte, dass der User nicht die IP des Servers eingeben muss sondern das System
    die IP des Servers sucht (laufende Server im System suchen welche das Programm ausführen).


    Frage:
    Das ist nun auch meine Frage: Wie finde ich heraus, ob ein anderes System eine passende Software nutzt?
    Zur Not reicht auch der Computername von System für einen Connect. Es soll vorerst nur Lokal funktionieren.


    Viele Grüße


    //edit: Nachtrag1: Es geht nicht darum, dass man mehr als 1 Tablet usen kann sondern darum, dass
    ich gerne möchte, dass ein Raum oder Wohnungsserver genutzt wird denn mit dem könnte man auf RaumMikros
    zugreifen und auch auf die Musikanlage in der Wohnung. Ich habe zwar keinen Wohnungsserver aber einen Rechner für meine
    Anlage und der würde dann genutzt werden. Als Mikro nutze ich ein Kabelloses Bluetooth Headset

  • Mach doch, dass das Programm im Netzwerk bei allen Geräten einen Portscann ausführt und wenn wo der Port xyz in Verwendung ist, dann soll es anzeigen, dann hast die Hosts worauf das Programm gestartet ist.
    Anders wirds nicht funktionieren, außer du erteilst dem einen PC Adminrechte auf den anderen PCs.

  • Sollte mit den ADM Rechten kein Problem sein.


    Aber auf die Idee war ich auch gekommen es mit einem Try zu versuchen ob
    mir ein Server antwortet, müsste nur halt entsprechend schnell gehen.


    Aber wäre schonmal ne coole Idee :)
    Danke Grex :)

  • Du könntest ja sozusagen einen Boradcast Portcheck machen, also du ließt die Netzwerkeinstellungen des einen PCs aus, und schickst an alle Clients ein "hello" an deinem Programm, sobald eines innerhalb 10 Sekunden antwortet, soll es gelistet werden, das können mehrere Geräte sein, oder auch dann nur eins, je nachdem.


    EDIT: Das Programm soll ja bestimmt nicht nur bei dir im Netzwerk funtkionieren, sondern auch noch bei Anderen oder?
    Nicht jeder PC hat full Adminrechte auf andere PCs im Netzwerk.
    Ausserdem müsstest du dann einen Broadcast ausschicken damit du die Rechner findest, und dann noch per Script die Prozessnamen ausließt, das ist aber dann auch nur der SOLL Wert.
    Weil die FW kann ja auch noch blockieren, dann wird das in deinem Programm gelistet, dass PC1 das App am Laufen hat, aber nicht erreichbar.

  • Meiner Meinung schon, da du dann sicher ausgehen kannst, dass die Verbindung reibungslos funktioniert.
    Du kannst ja mal ein "SendOnly" machen, sprich in einer forschleife an alle Clients im Netzwerk senden und nebenbei (zweiter Thread) hörst du auf Antworten ab und listest diese dann auf.


    z.B.
    Thread1:
    Auslesen der Netzwerkinos => 192.168.0.1 / 255.255.255.0
    Senden auf Port 1234 "hello" an 192.168.0.1-192.168.0.254 ( 192.168.0.0 = Netzwerkadresse, 192.168.0.255 = Boradcastadresse)


    Thread2:
    Abwarten auf Antworten
    Nach xx Sekunden Thread1 killen
    Ergebnis ausgeben

  • Hey,


    Ansich ja garkeine schlechte Idee nur muss ich mal schauen,
    was das System macht wenn ich es so mache wie du es anfangs gesagt hast.


    Wenn ein Server gefunden wurde, wieder ausloggen und die IP des Servers in nem
    Listview oder Listbox wiedergeben und später auswählen lassen.


    Ist zwar wahrscheinlich etwas fressender aber gut was soll :)


    Ich probier es mal aus, denn das mit dem Server / Client hab ich noch nicht auch mit manueller Eingabe
    noch nicht. Also kommt das erstmal dran von daher bleibt noch ein wenig Zeit zum Infos einholen :)


    Danke Grex :)