我用JAVA写的简单聊天程序出了问题,求高手指点.

来源:百度知道 编辑:UC知道 时间:2024/04/29 09:15:20
这是我用JAVA写的简单聊天小程序,,为什么我在client端输入后,在SERVER端无反应
(一)SERVER端
import java.io.*;
import java.net.*;

public class TalkServer {
public static void main(String[] args) throws Exception {
ServerSocket ss = new ServerSocket(5888);

while(true){
Socket s = ss.accept();
BufferedReader b = new BufferedReader(new InputStreamReader(s.getInputStream()));
System.out.println("CLIENT: "+b.readLine());
PrintWriter pw = new PrintWriter(s.getOutputStream());
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String st = br.readLine();
if(st.equalsIgnoreCase("BYE")){
break;
} else {
pw.println(st);
pw.flush();
System.out.println("SERVER: " +st);
}

pw.close();
s.close();
}
}
}

(二)CLIENT端
import java.io.*;
import java.net.*;

publi

注意在CLIENT端
import java.io.*;
import java.net.*;

public class TalkClient {
public static void main(String[] args) throws Exception{
Socket s = new Socket("127.0.0.1",5888);
while(true){
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String st = br.readLine();
PrintWriter pw = new PrintWriter(s.getOutputStream());
if(st.equalsIgnoreCase("BYE")){
break;
} else {
pw.println(st);
pw.flush(); //这里要刷新缓冲区
System.out.println("CLIENT: " +st);
}
BufferedReader b = new BufferedReader(new InputStreamReader(s.getInputStream()));
System.out.println("SERVER: "+b.readLine());

pw.close();
}
}
}