[求助] 我写的第一个聊天小程序,很幼稚的那种。 为什么Server说了一句话,Client收不到呢?
已经建立连接,Server窗口显示"A client connected."
然后在Server窗口输入"Hello",但是Client窗口什么也没接收到,怎么回事呢?
==[TCPServer.java]==
import java.io.*;
import java.net.*;
public class TCPServer {
public static void main(String[] args) {
try {
ServerSocket server = new ServerSocket(6000);
Socket s = null;
BufferedReader localBr = new BufferedReader(new InputStreamReader(System.in));
PrintWriter pw = null;
BufferedReader br = null;
while(true) {
s = server.accept();
System.out.println("A client connected.");
pw = new PrintWriter(s.getOutputStream());
br = new BufferedReader(new InputStreamReader(s.getInputStream()));
String str = null;
while(true) {
str = localBr.readLine();
System.out.println("Server: " + str);
pw.write("Server: " + str);
System.out.println(br.readLine());
if(str.equalsIgnoreCase("exit")) {
break;
}
}
pw.close();
br.close();
localBr.close();
s.close();
}
} catch (IOException e) {
e.printStackTrace();
System.out.println("error in server");
}
}
}
==[TCPClient.java]==
import java.io.*;
import java.net.*;
public class TCPClient {
public static void main(String[] args) {
try {
Socket s = new Socket("222.90.199.75", 6000);
BufferedReader localBr = new BufferedReader(new InputStreamReader(System.in));
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintWriter pw = new PrintWriter(s.getOutputStream());
String str = null;
while(true) {
System.out.println(br.readLine());
str = localBr.readLine();
System.out.println(str);
pw.write(str);
if(str.equalsIgnoreCase("exit")) {
break;
}
}
br.close();
pw.close();
localBr.close();
s.close();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}