Java Socket通信

 1 package com;
 2 
 3 import java.io.*;
 4 import java.net.ServerSocket;
 5 import java.net.Socket;
 6 
 7 /**
 8  * Socket Server
 9  * <p>
10  * Created by Administrator on 2018/5/2.
11  */
12 public class Server {
13 
14     public static void main(String[] args) {
15 
16         try {
17 
18             // 1.初始化服务端socket连接,并监听8888端口的socket请求
19             ServerSocket serverSocket = new ServerSocket(8888);
20 
21             System.out.println("****** I am Server, now begin to wait the client ******");
22             Socket socket = serverSocket.accept();
23 
24             // 2.server接收消息
25             InputStream inputStream = socket.getInputStream();
26             InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
27             BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
28 
29             String str;
30             if ((str = bufferedReader.readLine()) != null) {
31                 System.out.println("I am Server, now get message from Client: " + str);
32             }
33             socket.shutdownInput();
34 
35             // 3.server发送消息
36             OutputStream outputStream = socket.getOutputStream();
37             PrintWriter printWriter = new PrintWriter(outputStream);
38             printWriter.write("[welcome to you!]");
39             printWriter.flush();
40 
41             // 4.关闭资源
42             printWriter.close();
43             outputStream.close();
44 
45             bufferedReader.close();
46             inputStreamReader.close();
47             inputStream.close();
48             socket.close();
49             serverSocket.close();
50 
51         } catch (IOException e) {
52             e.printStackTrace();
53         }
54     }
55 
56 }
 1 package com;
 2 
 3 import java.io.*;
 4 import java.net.Socket;
 5 
 6 /**
 7  * Socket Client
 8  * <p>
 9  * Created by Administrator on 2018/5/2.
10  */
11 public class Client {
12 
13     public static void main(String[] args) {
14 
15         try {
16 
17             // 1.初始化客户端socket连接
18             Socket socket = new Socket("localhost", 8888);
19 
20             // 2.client发送消息
21             OutputStream outputStream = socket.getOutputStream();
22             PrintWriter printWriter = new PrintWriter(outputStream);
23             printWriter.write("[name:tom, pwd:123]");
24             printWriter.flush();
25             socket.shutdownOutput();
26 
27             // 3.client接收消息
28             InputStream inputStream = socket.getInputStream();
29             InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
30             BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
31             String str;
32             while ((str = bufferedReader.readLine()) != null) {
33                 System.out.println("I am Client, now get message from Server:" + str);
34             }
35 
36             // 4.关闭资源
37             bufferedReader.close();
38             inputStreamReader.close();
39             inputStream.close();
40 
41             printWriter.close();
42             outputStream.close();
43             socket.close();
44 
45         } catch (IOException e) {
46             e.printStackTrace();
47         }
48     }
49 }

猜你喜欢

转载自www.cnblogs.com/jiangyi-uestc/p/8983379.html