《Java核心技术II》实现服务器
实现服务器
服务器套接字
ServerSocket用于建立套接字
服务器回应案例
package 第4章网络.server;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.nio.charset.StandardCharsets;
import java.util.Scanner;
public class EchoServer {
public static void main(String[] args) throws IOException {
try (var s = new ServerSocket(8189)) {
try (Socket incoming = s.accept()) {
InputStream inStream = incoming.getInputStream();
OutputStream outStream = incoming.getOutputStream();
try (var in = new Scanner(new InputStreamReader(inStream, StandardCharsets.UTF_8))) {
var out = new PrintWriter(new OutputStreamWriter(outStream, StandardCharsets.UTF_8), true);
out.println("你好!输入BYE关闭它。");
// 回应客户端的输入
boolean done = false;
while (!done && in.hasNextLine()) {
String line = in.nextLine();
System.out.println(line);
out.println("回应:" + line);
if (line.strip().equals("BYE")) {
done = true;
}
}
}
}
}
}
}
比如HTTP web服务器,都会不间断执行下面这个循环
- 通过输入数据流从客户端接收一个命令。
- 解码这个客户端命令。
- 收集客户端所请求的信息。
- 通过输出数据流发送信息给客户端。
原文地址:https://blog.csdn.net/qq_36324341/article/details/145159324
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!