客户端:
创建Socket通信,设置通信服务器的IP和Port
建立IO输出流向服务器发送数据消息
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.Socket;
public class Client {
private Socket socket;//客户端socket
private PrintWriter printWriter;//字符输出流
private BufferedReader bufferedReader;//缓冲字符输入流
private final String socketUrl = "127.0.0.1";
private final Integer socketPort = 10086;
private static Client client;
public static Client getClient(){
if(client==null){
client = new Client();
}
return client;
}
private Client(){
try {
socket = new Socket(socketUrl,socketPort);
printWriter = new PrintWriter(socket.getOutputStream());
send("test");
} catch (IOException e) {
e.printStackTrace();
}
}
public void send(String msg){
try {
printWriter.println(msg);
printWriter.flush();
socket.shutdownOutput();
} catch (IOException e) {
e.printStackTrace();
}
}
}
服务端:
服务器建立通信ServerSocket
服务器建立Socket接收客户端连接
建立IO输入流读取客户端发送的数据
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
private ServerSocket serverSocket;
private final Integer serverSocketPort = 10086;
private Socket socket;
private BufferedReader reader;//缓冲字符输入流
public Server(){
try {
serverSocket = new ServerSocket(serverSocketPort);//绑定端口
System.out.println("等待客户端连接..");
socket = serverSocket.accept();
System.out.println("客户端已连接");
reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String msg = reader.readLine();
System.out.println(msg);
} catch (IOException e) {
e.printStackTrace();
}
}
}