Java Socket TCP编程
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 }