网络编程

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();
        }
    }

}
    

 

posted @ 2019-04-12 17:51  后天2333  阅读(148)  评论(0编辑  收藏  举报