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 !\r\n");
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();
}
}
}
}