Example of Socket bidirectional communication function developed by Java

  • 2020-12-19 20:58:51
  • OfStack

An example of Socket bi-directional communication is presented in this paper. To share for your reference, the details are as follows:

The service side


import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class Server_1 {
  public static void main(String[] args) {
    InputStreamReader isr;
    BufferedReader br;
    OutputStreamWriter osw;
    BufferedWriter bw;
    String str;
    Scanner in = new Scanner(System.in);
    try {
      ServerSocket server = new ServerSocket(4444);//  In the machine 4444 The port is open Server
      Socket socket = server.accept();//  As long as the connection is made, socket It can represent the object that it's connected to, and this server.accept() Only when a connection is made will it proceed 1 Step operation. 
      System.out.println(socket.getInetAddress());//  Output the connecter's IP . 
      System.out.println(" Set up the 1 A connection! ");
      while (true) {
        isr = new InputStreamReader(socket.getInputStream());
        br = new BufferedReader(isr);
        System.out.println(socket.getInetAddress() + ":" + br.readLine());
        osw = new OutputStreamWriter(socket.getOutputStream());
        bw = new BufferedWriter(osw);
        System.out.print(" reply :");
        str = in.nextLine();
        bw.write(str + "\n");
        bw.flush();
      }
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
}

The end of the service


import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class Client_1 {
  public static void main(String[] args) {
    InputStreamReader isr;
    BufferedReader br;
    OutputStreamWriter osw;
    BufferedWriter bw;
    String str;
    Scanner in = new Scanner(System.in);
    try {
      Socket socket = new Socket("localhost", 4444);
//     System.out.println(socket.getInetAddress());//  Output the connecter's IP . 
      System.out.println(" Successfully connected to the server ");
      while (true) {
        osw = new OutputStreamWriter(socket.getOutputStream());
        bw = new BufferedWriter(osw);
        System.out.print(" reply :");
        str = in.nextLine();
        bw.write(str + "\n");
        bw.flush();
        isr = new InputStreamReader(socket.getInputStream());
        br = new BufferedReader(isr);
        System.out.println(socket.getInetAddress() + ":" + br.readLine());
      }
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
}

For more information about java, please refer to Java Socket Programming Skills summary, Java File and Directory Operation Skills Summary, Java Data Structure and Algorithm Tutorial, Java Operation Of DOM Node Skills Summary and Java Cache Operation Skills Summary.

I hope this article is helpful for java programming.


Related articles: