BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- Java Client-Server-Programmierung (http://www.black-board.net/thread.php?threadid=10651)


Geschrieben von Deef am 27.02.2003 um 12:43:

  Client-Server-Programmierung

Hallo zusammen!

Ich versuche mich gerade an der Client - Server Programmierung und stosse schon ganz am Anfang auf ein Problem:

Der Server ist gestartet, aber sobald ich den Client starte bricht der Server mit einer IOException ab ... Weiss jemand woran das liegen könnte?

Hier noch der Quelltext:

Zitat:

/* Server */
import java.net.*;
import java.io.*;
import java.util.*;

public class Server
{
int PORT = 8400;


public static void main(String[] args)
{
new Server();
}

Server()
{
System.out.println("\n\n**** Server gestartet ****\n");


try
{
ServerSocket listen = new ServerSocket(PORT);
Socket verbindung = listen.accept();
InputStreamReader in = new InputStreamReader(verbindung.getInputStream());

while(true)
{
System.out.println(in.read());
}
}
catch(IOException e)
{
System.out.println(e);
}
}

Zitat:

/*Client*/

import java.net.*;
import java.io.*;
import java.util.*;

public class Client
{

public static void main(String[] args)
{
int PORT = 8400;

try
{
Socket socket = new Socket("localhost", PORT);
OutputStreamWriter out = new OutputStreamWriter(socket.getOutputStream());
}
catch(UnknownHostException e)
{
System.out.println(e);
}
catch(IOException f)
{
System.out.println(f);
}
}
}



Geschrieben von phlox81 am 27.02.2003 um 14:28:

 

hm, also den Fehler seh ich auch nicht so.
Allerdings frage ich mich ob du in der main nicht ein Objekt vom
Typ Server erstellen müsstest. (Server s = new Server()Augenzwinkern

Devil



Geschrieben von Deef am 27.02.2003 um 14:35:

 

Zitat:

public static void main(String[] args)
{
new Server();
}


Da wird die Instanz angelegt ;o)



Geschrieben von Deef am 27.02.2003 um 15:21:

 

Ok ich hab mein Problem gelöst :o)

Lösung:
- gepufferte Eingabe verwenden
- Sockets schliessen nach der Übertragung
- Server in eigenem Thread laufen lassen

Sollte sich noch jemand dafür interessieren: Quelltext gibts auf Anfrage ;o)


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH