Método Node.js socket.remoteAddress()

El método socket.remoteAddress() es una interfaz de programación de aplicaciones incorporada de la clase Socket dentro del módulo dgram que se utiliza para obtener la dirección remota del servidor que contiene el puerto, la dirección y la familia.

Sintaxis:

const socket.remoteAddress()

Parámetros: este método no acepta ningún parámetro.

Valor devuelto: este método devuelve la dirección remota del servidor que contiene el puerto, la dirección y la familia.

Ejemplo 1: Nombre de archivo: index.js

Javascript

// Node.js program to demonstrate the
// server.remoteAddress() method
 
// Importing dgram module
var dgram = require('dgram');
 
// Creating and initializing client
// and server socket
var client = dgram.createSocket("udp4");
var server = dgram.createSocket("udp4");
 
// Catching the message event
server.on("message", function (msg) {
 
    // Displaying the client message
    process.stdout.write("UDP String: " + msg + "\n");
 
    // Exiting process
    process.exit();
 
});
 
// Catching the listening event
server.on('listening', () => {
 
    // Getting address information for the server
    const address = server.address();
 
    // Display the result
    console.log(`server listening
        ${address.address}:${address.port}`);
 
});
 
// Binding server with port address
// by using bind() method
server.bind(1234, () => {
 
    // Connecting server with the port
    // and local host
    server.connect(1234, "localhost", () => {
        console.log("connected");
 
        // Getting remote address of server
        // by using remoteAddress() method
        const add = server.remoteAddress();
 
        // Display the result
        console.log(add);
    });
});
 
// Client sending message to server
client.send("Hello", 0, 7, 1234, "localhost");

Producción:

server listening 0.0.0.0:1234
connected
{ address: '127.0.0.1', family: 'IPv4', port: 1234 }

Ejemplo 2: Si el servidor no está conectado.

Nombre de archivo: index.js

Javascript

// Node.js program to demonstrate the
// server.remoteAddress() method
 
// Importing dgram module
var dgram = require('dgram');
 
// Creating and initializing client
// and server socket
var client = dgram.createSocket("udp4");
var server = dgram.createSocket("udp4");
 
// Catching the message event
server.on("message", function (msg) {
 
    // Displaying the client message
    process.stdout.write("UDP String: " + msg + "\n");
 
    // Exiting process
    process.exit();
});
 
// Catching the listening event
server.on('listening', () => {
 
    // Getting address information for the server
    const address = server.address();
 
    // Display the result
    console.log(`server listening
        ${address.address}:${address.port}`);
});
 
// Binding server with port address
// by using bind() method
server.bind(1234, () => {
 
    // Getting remote address of server
    // by using remoteAddress() method
    // it will throw error
    const add = server.remoteAddress();
 
    // Display the result
    console.log(add);
});
 
// Client sending message to server
client.send("Hello", 0, 7, 1234, "localhost");

Producción:

node GFG.js
server listening 0.0.0.0:1234
dgram.js:745
    throw new ERR_SOCKET_DGRAM_NOT_CONNECTED();
    ^

Error [ERR_SOCKET_DGRAM_NOT_CONNECTED]: Not connected
    at Socket.remoteAddress (dgram.js:745:11)
    at Socket.<anonymous> (F:\java\GFG.js:42:28)
    at Socket.onListening (dgram.js:225:10)
    at Socket.emit (events.js:327:22)
    at startListening (dgram.js:150:10)
    at dgram.js:345:7
    at processTicksAndRejections (internal/process/task_queues.js:85:21) {
  code: 'ERR_SOCKET_DGRAM_NOT_CONNECTED'
}

Ejecute el archivo index.js con el siguiente comando:

node index.js

Referencia: https://nodejs.org/dist/latest-v12.x/docs/api/dgram.html#dgram_socket_remoteaddress

Publicación traducida automáticamente

Artículo escrito por RohitPrasad3 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 *