Hi ich wollte mal mit Netzwerkprogrammierung beginnen und habe ein "Chatprogramm" geschrieben als ich dann anstatt integer zahlen nachrichten verschicken wollte kam folgender fehler:
java.net.SocketException: Connection reset
nun sieht mein Code so aus:
Server:
Client:
als ich anstatt object input und outputstream den normalen input und outputstream hatte und zahlen hin und her schickte ging es noch aber nun weiß ich nicht weiter. Der oben genannte Fehler tritt bei dem Server auf der Client macht einfach garnichts wenn ich ihn dann wieder schließe taucht der Fehler beim Server auf. Falls dies noch wichtig ist betriebssystem: win7 und ich benutze eclipse. würde mich über hilfe freuen.
mfg Weenzeal
java.net.SocketException: Connection reset
nun sieht mein Code so aus:
Server:
Java:
import java.io.*;
import java.net.*;
import java.util.*;
class Server {
ServerSocket server = new ServerSocket(1234);
Server() throws IOException{
while(true){
Scanner sc = new Scanner(System.in);
Socket client = server.accept();
ObjectInputStream input = new ObjectInputStream(client.getInputStream());
ObjectOutputStream output = new ObjectOutputStream(client.getOutputStream());
try {
System.out.println("Client: "+(String)input.readObject());
} catch (ClassNotFoundException e) {
System.out.println(e);
}
String msg;
msg = sc.next();
output.writeObject(msg);
output.flush();
System.out.println("Server: "+msg);
input.close();
output.close();
}
}
public static void main(String [] agrs){
try{
Server server = new Server();
}catch(IOException e){
System.out.println(e);
}
}
}
Client:
Java:
import java.io.*;
import java.util.*;
import java.net.*;
class Client {
Client() throws IOException{
while(true){
Scanner sc = new Scanner(System.in);
Socket server = new Socket("localhost",1234);
ObjectInputStream input = new ObjectInputStream(server.getInputStream());
ObjectOutputStream output = new ObjectOutputStream(server.getOutputStream());
String msg = sc.next();
output.writeObject(msg);
output.flush();
System.out.println("Client: "+msg);
try{
System.out.println("Server: "+(String)input.readObject());
}catch (ClassNotFoundException e){
System.out.println(e);
}
System.out.println("Server: "+input.read());
server.close();
input.close();
output.close();
}
}
public static void main(String args[]) {
try {
Client client = new Client();
}
catch(IOException e) {
System.out.print(e);
}
}
}
als ich anstatt object input und outputstream den normalen input und outputstream hatte und zahlen hin und her schickte ging es noch aber nun weiß ich nicht weiter. Der oben genannte Fehler tritt bei dem Server auf der Client macht einfach garnichts wenn ich ihn dann wieder schließe taucht der Fehler beim Server auf. Falls dies noch wichtig ist betriebssystem: win7 und ich benutze eclipse. würde mich über hilfe freuen.
mfg Weenzeal