客户端
复制代码代码如下:
importar java.io.bufferedReader;
importar java.io.inputStreamReader;
importar java.io.printwriter;
importar java.net.socket;
classe pública MyClient {
public static void main (string [] args) lança exceção {
Soquete soquete = novo soquete ("localhost", 10000);
BufferredReader in = new BufferredReader (new InputStreamReader (Socket.getInputStream ()));
PrintWriter Out = new PrintWriter (Socket.getOutputStream ());
BUBLEREDREADER LEITOR = new BufferredReader (new InputStreamReader (System.in));
while (true) {
String msg = leitor.readline ();
out.println (msg);
out.flush ();
if (msg.equals ("tchau")) {
quebrar;
}
System.out.println (in.readline ());
}
Socket.Close ();
}
}
服务端
复制代码代码如下:
importar java.io.bufferedReader;
importar java.io.ioException;
importar java.io.inputStreamReader;
importar java.io.printwriter;
importar java.net.serversocket;
importar java.net.socket;
classe pública MyServer {
public static void main (string [] args) lança ioexception {
ServerSocket Server = new ServerSocket (10000);
while (true) {
Soquete soquete = server.accept ();
invocar (soquete);
}
}
private estático void Invoke (cliente de soquete final) lança ioexception {
novo thread (novo runnable () {
public void run () {
BufferredReader in = null;
PrintWriter Out = NULL;
tentar {
in = new BufferredReader (new InputStreamReader (client.getInputStream ()));
out = new PrintWriter (client.getOutputStream ());
while (true) {
String msg = in.readline ();
System.out.println (msg);
out.println ("servidor recebido" + msg);
out.flush ();
if (msg.equals ("tchau")) {
quebrar;
}
}
} catch (ioexception ex) {
Ex.PrintStackTrace ();
} finalmente {
tentar {
in.Close ();
} catch (Exceção e) {}
tentar {
out.Close ();
} catch (Exceção e) {}
tentar {
client.close ();
} catch (Exceção e) {}
}
}
}).começar();
}
}