Kommunikation 2er Programme über Internet...

Oh, habe ich übersehen, sorry... :)
Was ist an den Klassen jetzt eigentlich besser? Ich kenn mich nicht so auf dem Gebiet aus und kanns nicht feststellen...
 
Gegenüber meinen? Das es jetzt vollfunktionierende Programme sind (Um den Fehlerabfang musst du dich noch kümmern, z. B. MaintenanceApp.Main.connect(String, int) = Verbindung fehlgeschlagen, z. B. weil der Server nicht rennt, MaintenancedApp.WaitForClient.createServerSocket() = Hatte ich bisher nur wenn der Port schon belegt war usw, ich HASSE Checked Exceptions im Haupsource. Das einzige was mich an Java stört. Daher die Methoden.)
Außerdem habe ich es nebenbei kommentiert, was ich sonst nie mache.

Gegenüber hammet's Link? Keine Ahnung, den Post habe ich erst gesehen nachdem ich mit dem schreiben der beiden Apps fertig war. Hatte wärend dessen das Browserfenster offen. Deshalb hat mich auch die Zeit ein wenig gewundert.
 
danke mir hat es auch sehr weiter geholfen
0e900ad84f63618452210ab8baae0218.gif




f8da71e562ff44a2bc7edf3578c593da.gif
 
Echt coole Bilder, finger361! :)
Was sollen die darstellen? Ich seh nur einen weißen Pixel... :)

Noch ne Frage: Wenn ich zwei Java-Programme mach und die sich gegenseitig schicken und empfangen können sollen, brauchen dann beide erstmal die IP-Adresse vom anderen? Oder kann man eine Verbindung mit einer IP aufbauen und die andere mit dieser Verbindung übertragen?
 
Hast du dir den Source nicht angeschaut? Ein Server baut NIEMALS eine Verbindung auf, er WARTET auf Clienten. Die accept-Methode gibt bei aufgebauter Verbindung ein Socket zurück, was für die Datenübertragung verwendet wird.
 
Dass der Server wartet, weiß ich, und die accept-Methode kenn ich auch.
Jedenfalls, wenn ein Server WARTET und ein Client mit der IP des Servers daraufzugreift, kann dann der Client dem Server irgendwie seine IP mitteilen, bzw. kann der Server herausfinden, mit welcher IP auf ihn zugegriffen wurde?
 
Das muss er ja, immerhin schickt er ja auch Daten zurück. Aber du benötigst ja die IP auch nicht um Daten zu übertragen sondern nur um Verbindungen aufzubauen. Aber wenn dus trotzdem willst: Socket.getInetAddress().
 
Cool, danke! Dann braucht man zum Senden und empfangen zwischen zwei Computern nur die IP-Adresse von einem Computer... Schön! :)
Also, bis dann mal
Jellysheep
 
Also, ich hab jetzt nen Server und nen Client. Der Server wartet, der Client greift drauf zu, der Server schickt dem Client was und der Client schickt was zurück. So weit, so gut... :)
Jetzt habe ich aber ein Problem: Das Ganze funktioniert nur "innerhalb" eines Routers. Sobald ich einen außenstehenden Computer als Client auf den Server zugreifen lasse, kommt eine "Time Out Exception" beim Client... Geht eine Verbindung auch irgendwie zwischen zwei entfernten Computern? :)
 
Zurück