网络编程
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(); } } }