服务端:
package TCPDemo;
import javax.sound.midi.Receiver;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class ReceiverA {
private ServerSocket serverSocket;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
boolean flag = true;
try {
ServerSocket serverSocket = new ServerSocket(2254);
System.out.println("A端已启动......");
//接收回复的内容
Socket socket = serverSocket.accept();
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
while(flag) {
Object o = ois.readObject();
System.out.println("收到B端内容: "+o);
System.out.println("请输入您要发送的内容: ");
String msg = sc.nextLine();
if(msg.equals("exit")) {
flag = false;
}
oos.writeObject(msg);
oos.flush();
}
// 关闭流和套接字
ois.close();
oos.close();
socket.close();
serverSocket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
客户端
package TCPDemo;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.util.Scanner;
public class SenderB {
private Socket socket;
public SenderB(Socket socket) {
this.socket = socket;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
boolean flag = true;
try{
Socket socket = new Socket(InetAddress.getByName("172.20.10.3"), 2254);
ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
//接收回复的内容
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
while(flag){
System.out.println("欢迎B端");
System.out.println("请输入您要发送的内容: ");
String message = sc.nextLine();
if (message.equals("exit")){
flag = false;
}
oos.writeObject(message);
oos.flush();
String response = (String) ois.readObject();
System.out.println("收到A端内容:"+response);
}
oos.close();
ois.close();
socket.close();
}catch (Exception e){
e.printStackTrace();
}
}
}
运行内容