package server; import java.io.DataOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import java.text.SimpleDateFormat; import java.util.Calendar; public class Server { public Server() { } public static void main(String[] args) { Server manager = new Server(); manager.doListen(); } public void doListen() { ServerSocket server; try { server = new ServerSocket(9991); System.out.println("server 启动!"); Socket client = server.accept(); new Thread(new SSocket(client)).start(); } catch (IOException e) { e.printStackTrace(); } } // 服务器进程 class SSocket implements Runnable { Socket client; public SSocket(Socket client) { this.client = client; } public void run() { DataOutputStream output = null; try { output = new DataOutputStream(client.getOutputStream()); } catch (IOException e1) { e1.printStackTrace(); } while (true) { try { output.writeBytes("hi ! "); String ly_time = new SimpleDateFormat("HH:mm:ss").format(Calendar.getInstance().getTime()); System.out.println(ly_time +" 发送: hi ! "); } catch (IOException e) { e.printStackTrace(); } try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } } }
Client
package client; import java.io.DataInputStream; import java.io.IOException; import java.net.Socket; import java.net.SocketException; import java.net.UnknownHostException; import java.text.SimpleDateFormat; import java.util.Calendar; public class Client { public static void main(String[] args) { Socket socket = null; try { socket = new Socket("127.0.0.1", 9991); socket.setSoTimeout(5000); System.out.println("Client 已连接"); } catch (UnknownHostException e1) { e1.printStackTrace(); } catch (IOException e1) { e1.printStackTrace(); } DataInputStream in = null; while (true) { try { in = new DataInputStream(socket.getInputStream()); String res = in.readLine(); String ly_time = new SimpleDateFormat("HH:mm:ss").format(Calendar.getInstance().getTime()); System.out.println(ly_time+" 接受:"+res); } catch (SocketException e) { System.out.println("SocketException ::::"+e.getMessage()); } catch (IOException e) { e.printStackTrace(); } try { Thread.sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }