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 }