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