2019-04-1217:48:22
1 package 网络编程.client; 2 /* 3 * 半双工 4 * */ 5 import java.io.BufferedReader; 6 import java.io.IOException; 7 import java.io.InputStreamReader; 8 import java.io.PrintWriter; 9 import java.net.Socket;10 import java.util.Scanner;11 12 public class Client2 {13 public static void main(String[] args) {14 try {15 Socket socket = new Socket("127.0.0.1",8888); //连接服务器16 while (true){17 System.out.println("输入你回答的");18 Scanner scanner =new Scanner(System.in);19 //发送消息20 String content =scanner.nextLine();21 // //输出流 字节输出转换为字符输出 true为自动22 PrintWriter out= new PrintWriter( socket.getOutputStream(),true);23 out.println(content); //发送出去24 //接受消息25 //字节流转换为字符输入流26 InputStreamReader isr =new InputStreamReader(socket.getInputStream());27 //缓冲流28 BufferedReader br =new BufferedReader(isr);29 System.out.println("服务器对客户端说:"+br.readLine());30 }31 32 } catch (IOException e) {33 e.printStackTrace();34 }35 36 37 }38 }
package 网络编程.server;/* * 半双工 * */import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;import java.util.Scanner;public class Server2 { public static void main(String[] args) { //服务器 try { //创建对象 ServerSocket serverSocket =new ServerSocket(8888);//服务器套接字 8888设置端口 System.out.println("开始监听"); //监听客户端连接 Socket socket = serverSocket.accept(); //客户端和服务器连接通道 表示客户端连接过来 System.out.println("客户端连接成功"); while (true){ //接受消息 //字节流转换为字符输入流 InputStreamReader isr =new InputStreamReader(socket.getInputStream()); //缓冲流 BufferedReader br =new BufferedReader(isr); System.out.println("服务端对客户端说:"+br.readLine()); System.out.println("输入你要说的"); Scanner scanner =new Scanner(System.in); //发送消息 String content =scanner.nextLine(); // //输出流 字节输出转换为字符输出 true为自动 PrintWriter out= new PrintWriter( socket.getOutputStream(),true); out.println(content); //发送出去 } } catch (IOException e) { e.printStackTrace(); } }}