Daytime服务器

package serversocket;

import java.net.*;
import java.io.*;
import java.util.*;
import java.util.concurrent.*;

// 时间协议服务器
public class DaytimeServer {
    private static final int PORT = 5001;// 端口
    private final static int THREAD_COUNT = 50;// 线程数量

    public static void main(String[] args) {
        ExecutorService pool = Executors.newFixedThreadPool(THREAD_COUNT);
        try (ServerSocket server = new ServerSocket(PORT)) {
            while (true) {
                // 嵌套try块是为了区分两类异常
                try {
                    Socket connection = server.accept();
                    DaytimeTask task = new DaytimeTask(connection);
                    pool.submit(task);
                }catch(IOException e){

                }
            }
        } catch (IOException e) {
            System.err.println("Could't start server");
        }
    }

}

class DaytimeTask implements Callable<Void> {
    private Socket connection;

    DaytimeTask(Socket connection) {
        this.connection = connection;
    }

    @Override
    public Void call(){
        try (Writer out = new OutputStreamWriter(connection.getOutputStream());) {
                Date nowadays = new Date();
                out.write(nowadays.toString() + "/r/n");
                out.flush();
            } catch (IOException e) {
                e.printStackTrace();
            }
        return null;
    }

}

这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我无法打开您提供的文档。但是,我可以为您提供DAYTIME协议的服务器和客户端程序的实现。 DAYTIME协议是一个简单的协议,它允许客户端与服务器交换当前日期和时间信息。服务器会将当前日期和时间以字符串形式发送给客户端。下面是DAYTIME协议的服务器和客户端程序的实现。 DAYTIME协议服务器程序实现: ```python import socket from datetime import datetime server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) host = '' port = 13 server_socket.bind((host, port)) server_socket.listen(5) print("Server listening on port ", port) while True: client_socket, address = server_socket.accept() print("Connection from ", address) current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S") client_socket.send(current_time.encode()) client_socket.close() ``` DAYTIME协议客户端程序实现: ```python import socket client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) host = 'localhost' port = 13 client_socket.connect((host, port)) data = client_socket.recv(1024) print("Current date and time: ", data.decode()) client_socket.close() ``` 在服务器端,我们首先创建一个套接字并绑定到本地主机和指定的端口。然后,我们开始监听客户端连接请求。一旦我们接受客户端连接请求,我们获取当前日期和时间并将其作为字符串发送给客户端。最后,我们关闭客户端套接字并继续等待其他客户端连接。 在客户端端,我们创建一个套接字并连接到服务器的主机和端口。一旦连接成功,我们接收从服务器发送的日期和时间信息并将其打印出来。最后,我们关闭客户端套接字。 这就是DAYTIME协议的服务器和客户端程序的实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值