实验目的
探索Java Socket编程,了解TCP连接关闭过程中,通信双方各状态在Socket编程中的体现。
四次挥手
实验之前先复习TCP关闭的四次挥手,如下图,重点关注主动关闭方和被动关闭方的状态变化。注意:图中展示了客户端主动关闭连接请求,但实际应用中,客户端和服务器端都有可能主动发起关闭连接请求。
实验
服务器端代码:
public class DaytimeServer {
public final static int PORT = 8000;
public final static int TEST_COUNT = 10000;
public static void main(String[] args) {
try (ServerSocket server = new ServerSocket(PORT)) {
while (true) {
try (Socket connection = server.accept()) {
Writer out = new OutputStreamWriter(connection.getOutputStream());
String data = (new Date()).toString();
for (int i =