//TCPServer.java
package msb.demo.socket;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;
public class TCPServer {
/**
* @param args
* @throws IOException
* @throws InterruptedException
*/
public static void main(String[] args) throws IOException, InterruptedException {
ServerSocket serverSocket = new ServerSocket(3333);
while (true) {
Socket socket = serverSocket.accept();
Thread.sleep(2000);
//read from client
DataInputStream dis = new DataInputStream(socket.getInputStream());
String data = dis.readUTF();
String msg =(new Date() + " accept:" + data);
System.out.println("Server received:"+msg);
//write to client
DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
dos.writeUTF(msg);
dis.close();
dos.close();
socket.close();
}
}
}
//TCPClient.java
package msb.demo.socket;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
public class TCPClient {
static int cnt = 0;
/**
* @param args
* @throws IOException
* @throws UnknownHostException
*/
public static void main(String[] args) throws Exception {
for(int i=0;i<5;i++)
connectServer();
}
static void connectServer() throws Exception{
Socket socket = new Socket("127.0.0.1",3333);
DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
//write to server
dos.writeUTF("p"+ (++cnt));
dos.flush();
//read from server
DataInputStream dis = new DataInputStream(socket.getInputStream());
String msg = dis.readUTF();
System.out.println("Client received:"+msg);
dos.close();
dis.close();
socket.close();
}
}