Este artículo describe la conexión cliente-servidor básica donde un cliente se conecta, un servidor envía un mensaje al cliente y el cliente muestra el mensaje usando una conexión de socket. Los sockets de un programa cliente establecen una conexión con el socket del servidor de la aplicación del servidor y luego el socket del servidor se conecta con los sockets internos en la aplicación del servidor.
Programa del lado del cliente
El programa cliente usa la clase Socket para establecer una conexión con un servidor. El objeto de socket necesita la dirección del servidor y el número de puerto del servidor.
Java
// Client program import java.io.*; import java.net.*; class GFG { // driver function public static void main(String[] args) { try { // Create socket object by passing id address // and port number establish connection Socket socket = new Socket("localhost", 1346); System.out.println( "Connected Successfully....."); // Buffer reader to get all the input stream BufferedReader bs = new BufferedReader( new InputStreamReader(socket.getInputStream())); System.out.println("Response from Server....."); // Print response from server System.out.println("Client Side : " + bs.readLine()); // Close the connection socket.close(); } catch (UnknownHostException e) { // Catch block for IP errors System.out.println("IP not found for" + e); } catch (IOException e) { // Catch block for data stream errors System.out.println("Not found data for socket" + e); } } }
Programa del lado del servidor
El programa del servidor utiliza una clase de socket de servidor para establecer una conexión con el cliente. El objeto Socket del servidor necesita el número de puerto.
Java
// Server program import java.io.*; import java.net.*; class GFG { public static void main(String[] args) { try { // establish connection ServerSocket serversocket = new ServerSocket(1346); System.out.println("waiting for request...."); // Socket object to accept all the connections Socket socket = serversocket.accept(); System.out.println("Request Accepted..."); // Printstream to print all the data PrintStream ps = new PrintStream(socket.getOutputStream()); BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); System.out.println( "Input the data at the server..."); // Printing bufferedreader data ps.print(br.readLine()); socket.close(); serversocket.close(); } catch (IOException e) { // Catch block for data stream errors System.out.println("Not found data for socket" + e); } } }
Publicación traducida automáticamente
Artículo escrito por prateekc231 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA