This article describes the two-way communication function of Socket implemented by Java development. Share it for your reference, as follows:
Server 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);// Open Server Socket socket = server.accept();// As long as a connection is generated, the socket can represent the connected object. At the same time, the server.accept() will only perform the next operation if it generates a connection. System.out.println(socket.getInetAddress());// Output the connector's IP. System.out.println("A connection was established!"); 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(); } }}Customer 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 connector'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 related content, please check out the topics of this site: "Summary of Java Socket Programming Skills", "Summary of Java File and Directory Operation Skills", "Tutorial on Java Data Structure and Algorithm", "Summary of Java Operation DOM Node Skills" and "Summary of Java Cache Operation Skills"
I hope this article will be helpful to everyone's Java programming.