public class TCPServer {
public static void main(String[] args) {
try {
ServerSocket server = new ServerSocket(8001);
boolean flag = true;
while (flag) {
final Socket client = server.accept();
System.out.println("Connect to client " + client + " remote add: " + client.getRemoteSocketAddress());
new Thread(new Runnable() {
public void run() {
try {
PrintStream ps = new PrintStream(client.getOutputStream());
BufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream()));
while (true) {
String line = br.readLine();
System.out.println("client: " + line);
ps.println(line + " copied");
if ("bye".equals(line)) {
break;
}
}
ps.close();
br.close();
client.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
public class TCPClient {
public static void main(String[] args) {
try {
Socket client = new Socket("localhost", 8001);
client.setSoTimeout(10000);
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
PrintStream out = new PrintStream(client.getOutputStream());
BufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream()));
while (true) {
System.out.print("input: ");
String str = input.readLine();
out.println(str);
if ("bye".equals(str)) {
break;
}
String read = br.readLine();
System.out.println("server: " + read);
}
input.close();
client.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
近期评论