Client-Server Anwendung

Wir haben in der Schule einen Linuxserver, und an jedem Bildschirm steht ein kleiner Client mit der GraKa zur Anzeige. Ich würde nun gerne ein Programm schreiben, womit ich von meinem Client in dem ich eingeloggt bin zu nem Kumpel schreibe, der nen anderen Client hat an dem er eingeloggt ist. Mir ist bewusst, dass der gleiche Port genommen werden muss, nur wie sieht es mit der IP aus? Ich muss ja die IP von ihm und er die von mir. Nur wenn alles über nen großen Server läuft, muss ich dann localhost nehmen?

Da musst du schon ein paar weitere Informationen über das Setup posten. Sind das Thin-Clients, die sich remote mit dem X-Server verbinden? Arbeiten also alle auf derselben Maschine?

so grob aus dem Kopf: Client anschalten -> Schwarzer Bildschirm, weiße Schrift -> Dann Logo -> dann kommen unten Ausgaben zum Ladestatus -> Dann einloggen.
Bei den Ausgaben erinnere ich mich, dass dort x-server initializing... Done stand. Vielleicht hilft ja das. Wenn ich Thin-Client richtig verstanden habe, dann ja. Man muss verbindung zum Server haben, damit man sich einloggen kann. In den Clients ist nur GraKa und Soundkarte, Maus + Tastatur. Das eigentliche Rechnen und Programme etc. pp. liegen und laufen auf dem Server.

Dann scheinen es wirklich Thin-Clients zu sein. Am einfachsten bekommt ihr es raus, wenn ihr euch die IP-Adresse anseht. Ohne Rootrechte funktioniert ifconfig zwar nicht, aber ip addr show zeigt die IP Adressen an.

Wenn ihr auf dem selben Rechner arbeitet, dann kannst du mit einem Programm einfach auf einem Port (> 1023) lauschen und dann mit dem anderen Programm zu localhost:<gewählterPort> verbinden.

Ich hab mal in Ubuntu den Kram oben eingegeben. Und der Output ist seltsam. Was genau davon ist nun wichtig?

Ausgabe

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:9a:fb:c1 brd ff:ff:ff:ff:ff:ff
inet 192.168.232.128/24 brd 192.168.232.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe9a:fbc1/64 scope link
valid_lft forever preferred_lft forever

Hoffe mal das es nicht schlimm ist sowas hier zu posten… Kp ob das nun sensible Daten sind

Und noch ne Frage, um ganz sicher zu gehen: Gibt es ne Möglichkeit herauszufinden ob es wirklich Thin-Client ist? Ich bin mir zu 95% Prozent sicher, aber ich würde meine Hand nicht ins Feuer legen…

Naja, es ist egal, ob es ein Thin- oder ein Fat-Client ist. Entscheidend ist, ob ihr auf der selben Maschine arbeitet (weil ihr remote eingeloggt seid), oder ob ihr auf unterschiedlichen Rechnern arbeitet.
Wenn ihr jeweils an eurem Arbeitsplatz in eine Kommandozeile ip addr show eingebt, seht ihr, ob der Rechner die selbe IP Adresse hat. Wenn ja, dann ist es wohl derselbe.
Andernfalls könnt ihr aber den Server auch auf einem Rechner starten und dann vom anderen die Verbindung zu der IP Adresse aufbauen.

Wir haben zwei Server. Beim Einloggen wird man zufällig auf einen der zwei verteilt (da frag ich mich dann wie man dann immer Zugriff auf /home/usrname/ hat) . Dann müssten wir nun ip addr show eingeben und vergleichen. Steht dort zweimal das gleiche, dann können wir localhost nehmen. Wenn nicht, dann muss man immer die jeweilige IP Addresse des anderen nehmen oder?

Client und Server ist geläufig?

Wenn nicht: bei einer TCP/IP Verbindung braucht man einen Server, der auf einem Port lauscht, und kann sich mit mehreren Clients zu diesem Verbinden. Man braucht also nur die IP-Adresse vom Server. Wenn ihr zwei Server aufmacht, dann könnt ihr nicht miteinander kommunizieren.

-.- ja hatte gerade nen Denkfehler… Trotzdem danke :smiley:

Es gäbe noch UDP Broadcast als Lösung … Da ist die eigene IP dann auch egal.