java实现一个简答而实际的TCP的服务端和客户端连接
服务端:
package com.server;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import .ServerSocket;
import .Socket;
import .SocketTimeoutException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TcpIpServer {
public static void main(String[] args) {
// info Auto-generated method stub
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(7777);
System.out.println(getTime()+"服务端准备好啦.");
} catch (IOException e) {
// info Auto-generated catch block
e.printStackTrace();
}
while(true){
try {
System.out.println(getTime()+"等待连接请求.");
// serverSocket.setSoTimeout(5*1000);
Socket socket = serverSocket.accept();
System.out.println(getTime()+socket.getInetAddress()+"连接请求从这开始.");
OutputStream out = socket.getOutputStream();
DataOutputStream dos = new DataOutputStream(out);
dos.writeUTF("[Notice]Test Message1 from Server.");
System.out.println(getTime()+"数据传送啦.");
dos.close();
socket.close();
}
//catch(SocketTimeoutException e){
// System.out.println("end!");
// System.exit(0);
// }
catch (IOException e) {
// info Auto-generated catch block
e.printStackTrace();
}
}
}
static String getTime() {
// info Auto-generated method stub
SimpleDateFormat f = new SimpleDateFormat("[hh:mm:s]");
return f.format(new Date());
}
}
客户端:
package com.client;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import .Socket;
import .UnknownHostException;
public class TcpIpClient {
public static void main(String[] args) {
// info Auto-generated method stub
String serverIp = "127.0.0.1";
System.out.println("服务端连接中.服务端IP : " + serverIp);
try {
Socket socket = new Socket(serverIp, 7777);
InputStream in = socket.getInputStream();
DataInputStream dis = new DataInputStream(in);
System.out.println("从服务端获得消息: " + dis.readUTF());
System.out.println("连接终止.");
dis.close();
socket.close();
System.out.println("关闭连接.");
} catch (UnknownHostException e) {
// info Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// info Auto-generated catch block
e.printStackTrace();
}
}
}。