Not much to say, directly upload the code, start the server first when running, and then start the client
client:
import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.*; import java.net.Socket; import java.net .UnknownHostException; import java.nio.channels.WritableByteChannel; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField ; public class Tcp_Client{ public static void main(String[] args) { try { //Create a client socket Socket socket = new Socket("localhost",8888); //Transfer information to the server OutputStream ots = socket.getOutputStream(); PrintWriter pw = new PrintWriter(ots); pw.write("111222123"); pw.flush(); //Close the output stream socket.shutdownOutput(); //Get the server-side delivery The data InputStream is = socket.getInputStream(); InputStreamReader isr = new InputStreamReader(is,"UTF-8"); BufferedReader br = new BufferedReader(isr); String info = null; while((info=br.readLine() )!=null){ System.out.println("I am the client, the server said: "+info); } //Close the resource br.close(); isr.close(); is.close(); pw.close(); ots.close(); socket.close(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
Server:
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class Tcp_service{ private BufferedReader reader; private ServerSocket serverSocket; private Socket socket; /** * Create a server program to read data from the client */ void getserver(){ try { serverSocket = new ServerSocket(8888); //Instantiate the server socket System.out.println("The server socket has been successfully created"); while (true) { System.out.println("Waiting for the connection from the client:"); socket = serverSocket.accept (); //Instantiate the socket object reader = new BufferedReader(new InputStreamReader(socket.getInputStream(),"UTF-8")); //Instantiate the BufferReader object getClientMessage();
}
} catch (Exception e) {
e.printStackTrace();
}
}
private void getClientMessage() { try { String message = null; while ((message = reader.readLine())!=null) { System.out.println("The message from the client is: "+message); OutputStreamWriter osw = new OutputStreamWriter(socket.getOutputStream(),"UTF-8"); // PrintWriter out = new PrintWriter(osw,); PrintWriter pw = new PrintWriter(osw,true); pw.println("The server has received "); } } catch (Exception e) { e.printStackTrace(); } }
public static void main(String[] args) { Tcp_service myTcp = new Tcp_service(); //create this class object myTcp.getserver(); } }