JAVA网络编程实现基于TCP协议的时间服务(向服务器查询当前时间)

来源:互联网 发布:ipad air2卸载软件 编辑:程序博客网 时间:2024/04/29 23:58

服务端程序:

package doc_02_tcp.server;import java.io.PrintWriter;import java.net.InetAddress;import java.net.ServerSocket;import java.net.Socket;import java.text.SimpleDateFormat;import java.util.Date;/** * 模块说明: 服务器端程序 *  */public class TimeServer {    public static void main(String[] args) {        try {            // 打印本机ip地址            InetAddress address = InetAddress.getLocalHost();            System.out.println(address);            // 创建一个serversocket,监听客户端请求            ServerSocket ss = new ServerSocket(9999);            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");            // 采用循环不断接受来自客户端的请求            while (true) {                Socket socket = ss.accept();                PrintWriter out = new PrintWriter(socket.getOutputStream());                out.println(sdf.format(new Date()));                out.flush();                out.close();                socket.close();            }        } catch (Exception e) {            e.printStackTrace();        }    }}

客户端程序:

package doc_02_tcp.client;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.InetAddress;import java.net.Socket;import java.net.UnknownHostException;/** * 模块说明: 客户端程序 *  */public class TimeClient {    public static void main(String[] args) {        try {            String localhost = String.valueOf(InetAddress.getLocalHost()).split("/")[1];            Socket socket = new Socket(localhost, 9999);            BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream()));            String currentTime = input.readLine();            System.out.println("current time from server:" + currentTime);            input.close();            socket.close();        } catch (UnknownHostException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }    }}
0 0
原创粉丝点击