客户端
import java.io.*;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
/**
* socket通信客户端
*/
public class Test01 {
public static void main(String[] args) {
DataInputStream dataInputStream = null;
DataOutputStream dataOutputStream = null;
try{
InetAddress addr = InetAddress.getByName("127.0.0.1");
int port = 8086;
Socket socket = new Socket(addr, port);
//发送数据
dataOutputStream = new DataOutputStream(socket.getOutputStream());
String message = "要发送的数据===我是客户端";
dataOutputStream.write(message.getBytes());
//接收服务端的数据
StringBuilder stringBuilder = new StringBuilder();
dataInputStream = new DataInputStream(socket.getInputStream());
byte[] buf = new byte[1024];
int len = dataInputStream.read(buf);
if (len != -1) {
stringBuilder.append(new String(buf, 0, len));
}
dataInputStream.close();
dataOutputStream.close();
String receiveMessage = "" + stringBuilder;
System.out.println("接收服务端发送的消息为:" + receiveMessage);
}catch (IOException e){
e.printStackTrace();
}finally {
try {
if (dataOutputStream!=null){
dataOutputStream.close();
}
if (dataInputStream!=null){
dataInputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
服务端
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
/**
* socket通信服务端
*/
public class Test02 {
public static void main(String[] args) {
DataInputStream dataInputStream = null;
DataOutputStream dataOutputStream = null;
try {
// 建立服务监听
ServerSocket serverSocket = new ServerSocket(8086);
System.out.println("建立Socket链接!!!");
while (true) {
Socket socket = serverSocket.accept();
//接收客户端的消息
StringBuilder stringBuilder = new StringBuilder();
dataInputStream = new DataInputStream(socket.getInputStream());
byte[] buf = new byte[1024];
int len = dataInputStream.read(buf);
if (len != -1) {
stringBuilder.append(new String(buf, 0, len));
}
String receiveMessage = "" + stringBuilder;
System.out.println("接收客户端发送的消息为:" + receiveMessage);
//向客户端发送数据
dataOutputStream = new DataOutputStream(socket.getOutputStream());
String message = "要发送的数据==我是服务端";
dataOutputStream.write(message.getBytes());
}
}catch (IOException e){
e.printStackTrace();
}finally {
try {
if (dataOutputStream!=null){
dataOutputStream.close();
}
if (dataInputStream!=null){
dataInputStream.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}