ObjectInputStream med socket
Jeg sidder her og leger lidt med Sockets, men kan ikke helt få det til at virke.Problemet er at den ikke vil oprette en ObjectInputStream, den går bare i stå som om den står og venter på noget.
Her er min kode:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
public class KrunkOrmClient {
public static final String IP = "127.0.0.1";
public static final int PORT = 4393;
private ObjectInputStream input;
private ObjectOutputStream output;
private Socket s;
public KrunkOrmClient() {
try {
System.out.println("1");
s = new Socket(IP, PORT);
System.out.println("2");
input = new ObjectInputStream(s.getInputStream());
System.out.println("3");
output = new ObjectOutputStream(s.getOutputStream());
System.out.println("4");
register();
} catch(Exception e) {
e.printStackTrace();
}
}
private void register() {
BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in));
boolean accepted;
try {
do {
System.out.print("Enter nick: ");
String nick = keyboard.readLine();
output.writeObject(nick);
output.flush();
accepted = input.readBoolean();
System.out.println(accepted);
} while(!accepted);
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new KrunkOrmClient();
}
}
Det er her det går galt:
input = new ObjectInputStream(s.getInputStream());
Hvis jeg udkommenterer den linje så kører den fint igennem. Ingen problemer med at lave ObjectOutputStream'en.
Håber i kan hjælpe.