本人初学java编程,在书中看到这个语句,这个是服务端接受语句的代码
package dddd;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class MyTcp {
private BufferedReader reader;
private ServerSocket server1;
private ServerSocket server2;
private Socket socket1;
private Socket socket2;
void getserver1(){
try{
server1=new ServerSocket(7993);
System.out.println("服务器套接字已经创建成功");
while(true){
System.out.println("等待客户机链接");
socket1=server1.accept();
reader=new BufferedReader(new InputStreamReader(socket1.getInputStream()));
getClientMessage(socket1);
}
}catch(Exception e){
e.printStackTrace();
}
}
private void getClientMessage(Socket socket){
try{
while(true){
System.out.println("来自客户机的信息:"+reader.readLine());
}
}catch(Exception e){
e.printStackTrace();
}
try{
if(reader!=null){
reader.close();
System.out.println("readerclose");
}
if(socket!=null){
socket.close();
System.out.println("socketclose");
}
}catch(IOException e){
e.printStackTrace();
}
}
public static void main(String[] args){
MyTcp tcp=new MyTcp();
tcp.getserver1();
}
}
这里面有两个while(true)都不太明白什么意思。按照我的理解在第二个语句
while(true){
System.out.println("来自客户机的信息:"+reader.readLine());
}
里面,system应该不断输出这个消息啊,但是结果system只是输出了一段消息
我从客户端输入一次服务端便响应一次,程序没问题,就是想知道为何while(true)没有出现死循环。