![]() |
|
|
|||||||
| Netzwerkprogrammierung Fragen zu Client-/Server-Programmierung sowie zu verteilten Anwendungen (RMI, CORBA etc.) |
|
|
|
Themen-Optionen | Thema durchsuchen | Ansicht |
| #1 (permalink) | |
|
Neuer Benutzer
Bit
Registriert seit: 09.06.2010
Beiträge: 7
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
|
Hallo Leute,
ich bin Neuling in Sachen Java. Trotz allem muss ich mich zwecks Uni an der Netzwerkprogrammierung versuchen. Im Moment scheitere ich daran, dass der Client nach Sendung seines Nicks terminiert. Zusätzlich bekomme ich dann eine Menge Exceptions an den Kopf geworfen. Mein Aufbau ist folgender: Ein Server, welcher nach eingehender Verbindung über einen ServerRequestWorker Threads für die Clients startet. Clients welche im Moment nur ein Nick schicken und auch Threads starten, falls sie etwas geschickt bekommen. Ich habe keine Ahnung ob der Aufbau sinnvoll ist. Und da ich jede Klasse hier einzeln posten müsste, lade ich mal schnell meinen Quelltext hoch. Vielen Dank falls sich einer die Zeit nehmen sollte mein Problem mal kurz zu begutachten. |
|
|
|
| #2 (permalink) | |
|
Stammbenutzer
Viertel Gigabyte
Registriert seit: 18.11.2004
Beiträge: 4.660
Abgegebene Danke: 7
Erhielt 58 Danke für 58 Beiträge
|
Die Exception bzw. der Stacktrace wäre interessant gewesen ..
- Alex
__________________
SIMON, das einfach bessere RMI ... -> Projektseite -> Warum SIMON besser ist als RMI -> Support-Forum |
|
|
|
| #3 (permalink) | |
|
Stammbenutzer
Kilobyte
Registriert seit: 12.07.2010
Beiträge: 125
Abgegebene Danke: 2
Erhielt 10 Danke für 10 Beiträge
|
Threads startet man mit start und nicht mit run.
Eventuell liegst daran. Außerdem ist in dem Worker nix, was ihm sagen sollte, dass er etwas immer wieder tun soll. ATM macht er einmal was und terminiert normal. |
|
|
|
| #4 (permalink) | |
|
Neuer Benutzer
Bit
Themenstarter
Registriert seit: 09.06.2010
Beiträge: 7
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
|
Das wird als Exception gezeigt:
java.io.EOFException at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281) at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2750) at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780) at java.io.ObjectInputStream.<init>(ObjectInputStream.java:280) at Netzwerk.ClientRequestWorker.start(ClientRequestWorker.java:30) at Netzwerk.Client.<init>(Client.java:26) at Netzwerk.Client.main(Client.java:42) @Marcinek: Wie könnte ich denn z.B sagen, dass die Threads erst geschlossen werden, wenn ich z.B. "Bye" in die Konsole eingebe? EDIT: Und wo ist der Unterschied zwischen run() und start() ? |
|
|
|
| #5 (permalink) | |
|
Stammbenutzer
Kilobyte
Registriert seit: 12.07.2010
Beiträge: 125
Abgegebene Danke: 2
Erhielt 10 Danke für 10 Beiträge
|
run() ist eine einfache methode
start() Erstellt ein neuen Thread und führt dann die run() methode aus Dein Fehler liegt darin, dass der Server scheinbar keine Daten bekommt, aber welche lesen möchte und bekommt eine End of File exception. Also ende von Daten |
|
|
|
|
| Lesezeichen |
Latex Maths & Physics Editor ...
|
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| (Socket) SocketServer und Client machen Probleme | SeraphimSerapis | Netzwerkprogrammierung | 6 | 21.06.2010 14:24 |
| Client terminiert zu schnell | sidex | Netzwerkprogrammierung | 1 | 16.09.2008 07:56 |
| probleme, threads zu snychronisieren (race condition) | Java Basics - Anfänger-Themen | 4 | 07.02.2008 01:15 | |
| Server / Client abwechselnd lesen schreiben | d4rkm3n | Netzwerkprogrammierung | 1 | 07.03.2006 03:39 |
| VBasic Client - Java Server Problem | OmaMugda | Java Basics - Anfänger-Themen | 0 | 09.10.2003 18:37 |