您的位置:首页 > 理论基础 > 计算机网络

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

2016-01-19 10:41 916 查看
服务端程序:

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();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: