BufferedReader inBuffer=null;
try {
//从客户端读取数据
while (FActive) {
inBuffer = new BufferedReader(new InputStreamReader(FSocket
.getInputStream()));
System.out.print(FSocket.getInetAddress()+":"+FSocket.getPort()+" ");
System.out.println(inBuffer.readLine());
}
inBuffer.close();
} catch (IOException e) {
e.printStackTrace();
System.out.println(e);
}
}客户端发送数据
while (true) {
line = new BufferedReader(new InputStreamReader(System.in));
if (null != line.readLine()) {
out.println(line.readLine());
if (line.readLine().equals("quit")) {
System.out.println("退出");
break;
}
}
}本来应该是客户端输入,然后后回车,服务器端就收到,可现在是客户端输入多次,多次回车后服务器端才能收到一个。为什么?????
try {
//从客户端读取数据
while (FActive) {
inBuffer = new BufferedReader(new InputStreamReader(FSocket
.getInputStream()));
System.out.print(FSocket.getInetAddress()+":"+FSocket.getPort()+" ");
System.out.println(inBuffer.readLine());
}
inBuffer.close();
} catch (IOException e) {
e.printStackTrace();
System.out.println(e);
}
}客户端发送数据
while (true) {
line = new BufferedReader(new InputStreamReader(System.in));
if (null != line.readLine()) {
out.println(line.readLine());
if (line.readLine().equals("quit")) {
System.out.println("退出");
break;
}
}
}本来应该是客户端输入,然后后回车,服务器端就收到,可现在是客户端输入多次,多次回车后服务器端才能收到一个。为什么?????
if (null != line.readLine()) {
out.println(line.readLine());
if (line.readLine().equals("quit")) {
应该这样:
String str = line.readLine();
out.println(str);
if (str.equals("quit")) {
但是忘记将批处理中的名称改过来了。所以写的代码和运行的根本就不是一个东西。改正这个错误后都正常了。