Latest web development tutorials

Node.js módulo Net

Node.js módulo Net

Módulo herramienta Node.js Módulo herramienta Node.js

Node.js módulo Net proporciona una serie de aparatos para la comunicación de red subyacente, incluyendo la creación de enfoque cliente / servidor, que puede introducirse en el módulo de la siguiente manera:

var net = require("net")

camino

No. Método y Descripción
1 net.createServer ([opciones] [, connectionListener ])
Crear un servidor TCP. ConnectionListener parámetros automáticamente para el evento "conexión" creados oyente.
2 net.connect (opciones [, connectionListener])
Devuelve un nuevo 'net.Socket', y conectarse a la dirección y el puerto especificado.
Cuando la toma establecido, se disparará el evento "conectar".
3 net.createConnection (opciones [, connectionListener])
Crear un host y el puerto de host de conexión de puerto TCP. acoger por defecto es "localhost".
4 net.connect (puerto [, anfitrión] [ , connectListener])
Crear un puerto para la conexión del puerto TCP anfitrión y huésped. acoger por defecto es "localhost". Parámetro connectListener añadirá como oyente al evento "conectar". Volver 'net.Socket'.
5 net.createConnection (puerto [, anfitrión] [ , connectListener])
Crear un puerto para la conexión del puerto TCP anfitrión y huésped. acoger por defecto es "localhost". Parámetro connectListener añadirá como oyente al evento "conectar". Volver 'net.Socket'.
6 net.connect (ruta [, connectListener])
Crear una conexión con la trayectoria de la socket Unix. parámetros ConnectListener como un oyente se añadirán al evento "conectar". Volver 'net.Socket'.
7 net.createConnection (ruta [, connectListener])
Crear una conexión con la trayectoria de la socket Unix. Parámetro connectListener añadirá como oyente al evento "conectar". Volver 'net.Socket'.
8 net.isIP (entrada)
La detección de si la dirección IP de entrada. IPV4 de retorno 4, IPV6 retorno 6, si no, devolver 0.
9 net.isIPv4 (entrada)
Si la dirección introducida es IPV4, devuelve verdadero, de lo contrario devuelve false.
10 net.isIPv6 (entrada)
Si se introduce la dirección como IPV6, devuelve verdadero, de lo contrario devuelve false.

net.Server

net.Server utiliza a menudo para crear un TCP o un servidor local.

No. Método y Descripción
1 server.listen (puerto [, anfitrión] [ , la cartera] [, devolución de llamada])
Escucha en las conexiones de corriente alterna principal de puerto y puerto de host especificados. Por defecto, el anfitrión acepta ninguna conexión directa de direcciones IPv4 (INADDR_ANY). puerto puerto es 0, se le asignará un puerto aleatorio.
2 server.listen (ruta [, devolución de llamada])
Especifica la ruta de la conexión, iniciar un servidor de socket local.
3 server.listen (manejar [, devolución de llamada])
Conectar mediante la especificación de la manija.
4 server.listen (opciones [, devolución de llamada])
opciones de atributos: puerto puerto, al anfitrión, y la cartera de pedidos, así como la función de devolución de llamada parámetros opcionales, llamándolos junto server.listen (puerto, [host], [retraso], [callback]). También, el parámetro de ruta se puede usar para especificar un socket UNIX.
5 server.close ([callback])
Servidor deja de aceptar nuevas conexiones y mantener las conexiones existentes. Esta es una función asíncrona, cuando todos los servidores de conexiones finales se apagará y se activará el evento 'cerca'.
6 server.address ()
El sistema operativo devuelve la dirección obligada, apellido protocolo y el puerto del servidor.
7 server.unref ()
Si se trata de un evento del sistema del servidor sólo una llamada activa unref permitirá que el programa termine.
8 server.ref ()
Y unref el contrario, si este es el único servidor, llame al árbitro antes de ser unref en el servidor no permitirá que el programa se cierra (comportamiento por defecto). Si el servidor se ha ref, se invoca de nuevo ref y no tendrá un impacto.
9 server.getConnections (devolución de llamada)
Asíncrono Obtiene el número de servidores Actualmente conexión activa. Cuando la toma de corriente se envía al proceso hijo después de la efectiva; función de devolución de llamada tiene dos argumentos yerran y cuentan.

evento

No. Eventos y descripción
1 escucha
Cuando las llamadas al servidor server.listen desencadenantes de unión.
2 conexión
Se activa cuando se crea una nueva conexión. socket es net.Socket ejemplo.
3 cerca
Se dispara el servidor se apaga. Tenga en cuenta que si hay una conexión, este evento no se activará hasta que todas las conexiones cerradas.
4 error
Se activa cuando se produce un error. evento "Cerrar" se llamará directamente después del evento.

net.Socket

net.Socket objeto es una abstracción TCP o UNIX socket. net.Socket ejemplos de la realización de una interfaz de flujo duplex. Pueden ser creados en el cliente de usuario (con el) connect () el uso, o cuando se crean por el Nodo, y se entregan al usuario a través de los eventos del servidor de conexión.

evento

net.Socket eventos:

No. Eventos y descripción
1 de búsqueda
Después de un nombre, pero antes de conectarse a desencadenar este evento. Para UNIX sokcet NA.
2 conectar
Cuando el gatillo se establece correctamente conexión de socket.
3 datos
Se activa cuando se reciben los datos.
4 final
Cuando la toma de corriente y el otro extremo para enviar paquete FIN que desencadenó el evento.
5 tiempo de espera
Cuando el tiempo de espera activa sólo toma espectáculo zócalo ha estado inactivo. El usuario debe cerrar manualmente la conexión.
6 drenar
Cuando el gatillo estaba vacía cuando la caché de escritura. Se puede utilizar para controlar la carga.
7 error
Se activa cuando se produce un error.
8 cerca
Se activa cuando el enchufe está completamente cerrada. Had_error parámetro es un valor booleano que indica si debido a errores de transmisión toma cerca.

propiedad

net.Socket ofrece muchas propiedades útiles, fáciles de controlar la interacción del zócalo:

No. Propiedad y Descripción
1 socket.bufferSize
Esta propiedad muestra el número de bytes que se escriben en la memoria intermedia.
2 socket.remoteAddress
cadena de mando a distancia dirección IP, por ejemplo: '74 .125.127.100 'o' 2001: 4860: A005 :: 68 '.
3 socket.remoteFamily
cadena conjunto de protocolos IP remota, tales como "IPv4" o "IPv6".
4 socket.remotePort
Puerto remoto, una representación digital, por ejemplo: 80 o 21.
5 socket.localAddress
Interfaz local de la conexión de red del cliente haz remoto en posición vertical en la dirección IP local de la cadena de conexión. Por ejemplo, si está escuchando '0.0.0.0' y el cliente está conectado a '192.168.1.1', el valor sería '192.168.1.1'.
6 socket.localPort
números de dirección puerto local. Por ejemplo: 80 o 21.
7 socket.bytesRead
Para obtener el número de bytes recibidos.
8 socket.bytesWritten
El número de bytes enviados.

camino

No. Método y Descripción
1 nueva net.Socket ([opciones])
Construimos un nuevo objeto socket.
2 Socket.connect (puerto [, anfitrión] [ , connectListener])
puerto designado y el anfitrión Puerto host, cree una conexión de socket. Sede de los parámetros estándar a localhost. Normalmente no hay necesidad de usar net.createConnection socket abierto. Sólo se le utilizó para lograr su toma cuando.
3 Socket.connect (ruta [, connectListener])
Abrir la ruta especificada socket Unix. Normalmente no hay necesidad de usar net.createConnection socket abierto. Sólo se le utilizó para lograr su toma cuando.
4 socket.setEncoding ([codificación])
Configuración de codificación
5 socket.write (datos [, codificación] [ , devolución de llamada])
La transmisión de datos sobre el zócalo. El segundo parámetro especifica la codificación de la cadena, el valor predeterminado es la codificación UTF8.
6 socket.end ([Datos] [, codificación ])
socket Semi-cerrado. Por ejemplo, se envía un paquete FIN. Servidor es todavía posible enviar datos.
7 socket.destroy ()
Asegúrese de que ninguna actividad de E / S en el zócalo. Sólo en caso de que un error se produce sólo cuando sea necesario. (Error de procesamiento, etc.).
8 socket.pause ()
Pausa datos leídos. Es decir, los datos no activarán evento. Para el control de carga es muy útil.
9 socket.resume ()
Llame a la pausa () después de leer los datos que desea restaurar.
10 socket.setTimeout (tiempo de espera [, devolución de llamada])
socket inactivo durante más de milisegundos de tiempo de espera, el zócalo se establece en tiempo de espera.
11 socket.setNoDelay ([Nodelay])
Desactivar Nag algoritmo (Nagle). De manera predeterminada conexiones TCP uso algoritmo de Nag, que amortiguan los datos antes de enviarlos. El envío de datos de inmediato Nodelay el valor true en un tiempo de llamada socket.write (). Nodelay El valor predeterminado es true.
12 socket.setKeepAlive ([permitirá] [, initialDelay ])
Activar / desactivar la función de enlace de largo, y antes de enviar el primero de una larga inactividad conexiones en la entrada de sonda, opcionalmente fijar el retardo inicial. El valor por defecto es falso. Configuración initialDelay (ms) para establecer el retardo último paquete recibido y una larga conexión entre la sonda. El initialDelay establece en 0, se deje el valor predeterminado (o anterior) de valor. El valor por defecto es 0.
13 socket.address ()
El sistema operativo devuelve la dirección obligada, apellido protocolo y el puerto del servidor. El objeto devuelto tiene tres atributos, tales como: {puerto 12346, familia: "IPv4", dirección: '127.0.0.1'}.
14 socket.unref ()
Si se trata de un evento del sistema del servidor sólo una llamada activa unref permitirá que el programa termine. Si el servidor ha sido unref, unref se invoca de nuevo y no tendrá un impacto.
15 socket.ref ()
Y unref el contrario, si este es el único servidor, llame al árbitro antes de ser unref en el servidor no permitirá que el programa se cierra (comportamiento por defecto). Si el servidor se ha ref, se invoca de nuevo ref y no tendrá un impacto.

Ejemplos

Crear archivo server.js, el código es el siguiente:

var net = require('net');
var server = net.createServer(function(connection) { 
   console.log('client connected');
   connection.on('end', function() {
      console.log('客户端关闭连接');
   });
   connection.write('Hello World!\r\n');
   connection.pipe(connection);
});
server.listen(8080, function() { 
  console.log('server is listening');
});

Aplicación del código del lado del servidor anterior:

$ node server.js
server is listening   # 服务已创建并监听 8080 端口

Abrir una nueva ventana, crear el archivo Client.js, el código es el siguiente:

var net = require('net');
var client = net.connect({port: 8080}, function() {
   console.log('连接到服务器!');  
});
client.on('data', function(data) {
   console.log(data.toString());
   client.end();
});
client.on('end', function() { 
   console.log('断开与服务器的连接');
});

Aplicación del código del cliente por encima de:

连接到服务器!
Hello World!

断开与服务器的连接

gif ejemplos demuestran

Módulo herramienta Node.js Módulo herramienta Node.js