Nett的概念及体系结构
第一章 Java网络编程
最早期的 Java API(java.net)只支持由本地系统套接字库提供的所谓的阻塞函数,像下面的那样
//创建一个新的 ServerSocket,用以监听指定端口上的连接请求
ServerSocket serverSocket = new ServerSocket(portNumber);
//对 accept()方法的调用将被阻塞,直到一个连接建立.随后返回一个新的 Socket 用于客户端和服务器之间的通信。该 ServerSocket 将继续监听传入的连接。
Socket clientSocket = serverSocket.accept();
//这些流对象都派生于该套接字的流对象
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));//从一个字符输入流中读取文本
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);//打印对象的格式化的表示到文本输出流
String request, response;
//处理循环开始
while ((request = in.readLine()) != null) {
//readLine()方法将会阻塞,直到一个由换行符或者回车符结尾的字符串被读取。
if ("Done".equals(request)) {
//如果客户端发送了“Done”,则退出处理循环
break;
}
//请求被传递给服务器的处理方法
response = processRequest(request);//客户端的请求已经被处理
out