Client端
import java.io.*;
import java.net.Socket;
public class ClientDemo1 {
public static void main(String[] args) {
try {
Socket socket = new Socket("localhost" ,8080) ;
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())) ;
writer.write("客户端Client01\n");
writer.flush();
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())) ;
String str = reader.readLine() ;
System.out.println("收到服务端的消息:" + str);
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.*;
import java.net.Socket;
public class ClientDemo2 {
public static void main(String[] args) {
try {
Socket socket = new Socket("localhost" ,8080) ;
Thread.sleep(1000);
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())) ;
writer.write("客户端Client02\n");
writer.flush();
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())) ;
String str = reader.readLine() ;
System.out.println("收到服务端的消息:" + str);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
服务端
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerDemo {
public static void main(String[] args) {
ServerSocket serverSocket = null ;
try {
serverSocket = new ServerSocket(8080) ;
while(true){
Socket socket = serverSocket.accept() ;
new Thread(new ThreadServerDemo(socket)).start();
}
} catch (IOException e) {
e.printStackTrace();
}finally {
}
}
}
import java.io.*;
import java.net.Socket;
public class ThreadServerDemo implements Runnable {
private Socket socket ;
public ThreadServerDemo(Socket socket) {
this.socket = socket;
}
@Override
public void run() {
System.out.println("启动服务,收到一个客户点的连接,端口号为:"+socket.getPort());
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())) ;
String clientStr = null ;
clientStr = reader.readLine() ;
System.out.println("收到客户端的数据" + clientStr);
Thread.sleep(1000);
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())) ;
writer.write("服务端收到数据,内容为:"+clientStr+"\n");
writer.flush();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}