Clase java.net.SocketOption en Java

java.net.SocketOption es una opción de socket que está conectada con un socket, ya que el conjunto de paquetes de canales es java.nio.channels.NetworkChannel que esta interfaz ha definido setOption, así como los métodos getOption para configurar y consultar los canales dentro de sus opciones de socket.

--> java.net Package
    --> SocketOption Class   

Esta clase java.net.SocketOption permite al usuario final generar los objetos socketOptions que son útiles para invocar todas las operaciones de socket fundamentales. Podemos realizar operaciones de red como enviar, leer datos y transferir, cerrar conexiones, y cada uno de estos objetos SocketOption es creado usando con java.net. La clase SocketOption se ha invocado perfectamente con un host remoto y para conectarse a otro host de nivel, por lo tanto, no generaremos el nuevo objeto para él.

Sintaxis: Importación de la clase SocketOption del paquete java.net

import java.net.SocketOption;

La clase SocketOption está invocando un flujo SocketOption y que está conectado al número de puerto simplificado y la dirección del puerto, ya que esta clase SocketOption se usa para la generación del zócalo y se está conectando a la dirección remota similar en los puertos remotos accesibles que están en javax.net usar.

Método Acción realizada
nombre() Le devuelve el nombre de SocketOption.
escribe() Devuelve el tipo del valor de la opción de socket.

Usos de las interfaces: clase java.net.SocketOption

Paquetes que utilizan la clase SocketOption

Paquete Descripción
java.net              Esto contará con las clases para invocar aplicaciones de red.
com.sun.nio.sctp                Una API de Java para invocar los protocolos de transporte de control de transmisión
java.nio.canales                            Esto define los canales, así como las conexiones a conjuntos de canales que crean operaciones de E/S, como archivos y sockets, y define selectores y para operaciones de E/S multiplexadas, por lo tanto, sin bloqueo.
jdk.net Este jdk.net tiene opciones de sockets especificadas por la plataforma similares a las clases socketOption de java.net y java.nio.channels

Usos de la clase SocketOption del paquete java.net 

Modificador y Tipo Campo Descripción
SocketOption final estático<NetworkInterface>                                        StandardSocketOptions.IP_MULTICAST_IF                                            La interfaz de red para este Protocolo de Internet (IP) está en los datagramas de multidifusión
OpciónSocket final estática<Boolean>                                  StandardSocketOptions.IP_MULTICAST_LOOP El bucle invertido del Protocolo de Internet (IP) está en datagramas multidifundidos
OpciónSocket final estática<Entero> StandardSocketOptions.IP_MULTICAST_TTL                                            el tiempo de vida en SocketOption<Integer> es para el Protocolo de Internet (IP) también está en datagramas multidifundidos
OpciónSocket final estática<Entero> StandardSocketOptions.IP_TOS El tipo de servicios en el octeto de SocketOption<Integer> (ToS) dentro del encabezado del Protocolo de Internet (IP)
OpciónSocket final estática<Boolean> StandardSocketOptions.SO_BROADCAST Dar permiso para la transmisión de datagramas de radiodifusión
OpciónSocket final estática<Boolean> StandardSocketOptions.SO_KEEPALIVE esto mantendrá la conexión siempre viva
OpciónSocket final estática<Entero> StandardSocketOptions.SO_LINGER Permanecerá al cerrar si hay datos almacenados en él.
OpciónSocket final estática<Entero> StandardSocketOptions.SO_RCVBUF esto recibirá un búfer por el tamaño de su socket
OpciónSocket final estática<Boolean> StandardSocketOptions.SO_REUSEADDR                        es una dirección reutilizable
OpciónSocket final estática<Boolean>                  StandardSocketOptions.SO_REUSEPORT es un puerto reutilizable
OpciónSocket final estática<Entero> StandardSocketOptions.SO_SNDBUF enviando un búfer por tamaño de sockets
OpciónSocket final estática<Boolean> StandardSocketOptions.TCP_NODELAY terminará el algoritmo de Nagle

Usos de SocketOption dentro de java.nio.channels

Los métodos en java.nio.channels tienen tipos devueltos dentro de los argumentos de tipo con SocketOption

Modificador y Tipo Método y descripción
Establecer<OpciónSocket<?>> La devolución de los conjuntos del socket que tiene opciones es compatible con sus canales de tipo modificador

Métodos en java.nio.channels dentro de los parámetros de tipo con SocketOption 

Modificador y Tipo  Método y descripción
<T> T

NetworkChannel.getOption(SocketOption<T> nombre)

lanzando el valor de SocketOption

resumen <T> DatagramChannel DatagramChannel.setOption(SocketOption<T> nombre, valor T) 
resumen <T> canal de enchufe SocketChannel.setOption(SocketOption<T> nombre, valor T) 
abstract <T> CanalSocketServidorAsíncrono AsynchronousServerSocketChannel.setOption(SocketOption<T> nombre, valor T)
resumen <T> ServerSocketChannel ServerSocketChannel.setOption(SocketOption<T> nombre, valor T) 
<T> Canal de red

NetworkChannel.setOption(SocketOption<T> nombre, valor T)

esto configurará los valores de SocketOption

resumen <T> canal de socket asíncrono AsynchronousSocketChannel.setOption(SocketOption<T> nombre, valor T) 

Implementación: ejemplos de Java para una demostración de clase SocketOption

A. Para el lado del servidor

Java

// Java Program to Illustrate SocketOption Class
 
// Importing required classes
import java.io.*;
import java.net.*;
import java.net.SocketOption *;
 
// Class
public class MyServers {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Try block to check for exceptions
        try {
 
            // Creating object of class inside main() method
            ServerSocket aa = new ServerSocket(6666);
 
            // Setting up an connection
            SocketOption sock = aa.accept();
 
            // Initializing an input stream
            DataInputStream disc
                = new DataInputStream(s.getInputStream());
            String str = (String)disc.readUTF();
            System.out.println("message= " + str);
 
            // Closing the socket
            // using close() method
            ss.close();
        }
 
        // Catch block to handle exceptions at runtime
        catch (Exception c) {
 
            // Display exception along with line number
            System.out.println(c);
        }
    }
}

Salida: en el cliente

B. Para el lado del cliente

Java

// Java Program to Illustrate SocketOption Class
 
// Importing required classes
import java.io.*;
import java.net.*;
import java.net.SocketOption *;
 
// Class
public class MyClients {
 
    // Main driver method
    public static void main(String[] args)
    {
        // Try block to check for exceptions
        try {
 
            // Initializing the SocketOptions
            SocketOption soc
                = new SocketOption("localhost", 6666);
 
            DataOutputStream d = new DataOutputStream(
                soc.getOutputStream());
 
            // Display message only
            d.writeUTF("Hello GFG Readers!");
 
            d.flush();
            // closing that enabled DataOutputStream
            d.close();
            // Closing the sockets
            soc.close();
        }
 
        // Invoking an Exception in running time
 
        // Catch block to handle exceptions
        catch (Exception e) {
 
            // Display message only
            System.out.println(e);
        }
    }
}

Salida: En el servidor

Publicación traducida automáticamente

Artículo escrito por khurpaderushi143 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *