import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
//客户端
public class ChatClient {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
try {
Socket socket = new Socket("127.0.0.1", 8080);
InputStream inputStream = socket.getInputStream();//接收服务端信息
OutputStream outputStream = socket.getOutputStream();//给予服务端反馈
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(outputStream));
while(true) {
//发送给服务端信息
System.out.println("请输入你要发送的信息");
String send = input.nextLine();
bw.write(send);
bw.write("\n");
bw.flush();
//打印从服务接收的信息
String give = br.readLine();
System.out.println("从服务端接收的信息为:" +give);
if(give.equals("拜拜")){
break;
}
}
//关闭资源
bw.close();
br.close();
outputStream.close();
inputStream.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
//服务器
class ChatServer {
public static void main(String[] args) {
System.out.println("服务器启动");
Scanner input=new Scanner(System.in);
try {
ServerSocket serverSocket = new ServerSocket(8080);
//accept()方法监听8080端口 的客户端
Socket socket = serverSocket.accept();
System.out.println("客户端连接");
InputStream inputStream = socket.getInputStream();//接收客户端信息
OutputStream outputStream = socket.getOutputStream();//给予客户端反馈
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(outputStream));
//输出客户端发送的信息
while(true){
String give = br.readLine();
System.out.println("客户端发送的信息为:" + give);
//给予客户端反馈
System.out.println("请输入你要回复的信息");
String send = input.nextLine();
bw.write(send);
bw.write("\n");//readline以一行为单位读取,便于区别
bw.flush();//刷新缓冲区的数据
if(give.equals("拜拜")){
break;
}
}
//关闭资源
bw.close();
br.close();
outputStream.close();
inputStream.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Socket 实现聊天小软件
最新推荐文章于 2023-01-13 20:30:52 发布