Obxecto incorporado

Enchufe de obxectos

Obxecto de socket de rede

Socket pertence a net Módulo, método de creación

1
var s = new net.Socket();

Herdanza

#lineWidth: 1.5 #font: Helvetica,sans-Serif #fontSize: 10 #leading: 1.6 #.this: fill=lightgray #.class: fill=white [<class>object|toString();toJSON()] [<class>Stream|fd|read();write();flush();close();copyTo()] [<this>Socket|new Socket()|family;remoteAddress;remotePort;localAddress;localPort;timeout|connect();bind();listen();accept();recv();send()] [object] <:- [Stream] [Stream] <:- [Socket] Socket new Socket() family remoteAddress remotePort localAddress localPort timeout connect() bind() listen() accept() recv() send() Stream fd read() write() flush() close() copyTo() object toString() toJSON()

Construtor

Socket

Socket constructor, crea un novo obxecto Socket

1
new Socket(Integer family = net.AF_INET);

Parámetros de chamada:

  • family: Enteiro, especifique o conxunto de enderezos, o predeterminado é AF_INET, ipv4

Atributos dos membros

family

Entero, consulta o conxunto de enderezos do obxecto Socket actual

1
readonly Integer Socket.family;

remoteAddress

Cadea, consulta o enderezo da outra parte actualmente conectada

1
readonly String Socket.remoteAddress;

remotePort

Entero, consulta o porto da outra parte actualmente conectada

1
readonly Integer Socket.remotePort;

localAddress

Cadea, consulta o enderezo local da conexión actual

1
readonly String Socket.localAddress;

localPort

Entero, consulta o porto local actualmente conectado

1
readonly Integer Socket.localPort;

timeout

Entero, consulta e define o tempo de espera en milisegundos

1
Integer Socket.timeout;

fd

Entero, consulta Stream O valor correspondente do descriptor de ficheiro, implementado pola subclase

1
readonly Integer Socket.fd;

Función de membro

connect

Establecer unha conexión tcp

1 2
Socket.connect(String host, Integer port = 0) async;

Parámetros de chamada:

  • host: Cadea, especifique o enderezo ou o nome de host da outra parte ou apunte á ruta do socket Unix e do tubo de Windows
  • port: Enteiro, especifique o porto da outra parte, ignore este parámetro ao conectar o socket Unix e o tubo de Windows

bind

Vincula o socket actual ao porto especificado de todos os enderezos locais

1 2
Socket.bind(Integer port, Boolean allowIPv4 = true);

Parámetros de chamada:

  • port: Enteiro, especifique o porto enlazado
  • allowIPv4: Booleano, especifique se se acepta a conexión ipv4, o predeterminado é verdadeiro. Este parámetro é válido en ipv6 e depende do sistema operativo

Vincula o socket actual ao porto especificado do enderezo especificado

1 2 3
Socket.bind(String addr, Integer port = 0, Boolean allowIPv4 = true);

Parámetros de chamada:

  • addr: Cadea, especifique o enderezo de vinculación ou apunte á ruta do socket Unix e do tubo de Windows
  • port: Enteiro, especifique o porto enlazado. Cando ligue o socket Unix e o tubo de Windows, ignore este parámetro
  • allowIPv4: Booleano, especifique se se acepta a conexión ipv4, o predeterminado é verdadeiro. Este parámetro é válido en ipv6 e depende do sistema operativo

listen

Comeza a escoitar as solicitudes de conexión

1
Socket.listen(Integer backlog = 120);

Parámetros de chamada:

  • backlog: En número enteiro, especifique a lonxitude da cola de solicitudes, as solicitudes que superen a lonxitude rexeitaranse, o valor predeterminado é 120

accept

Agarde e acepte unha conexión

1
Socket Socket.accept() async;

Resultado de volta:

  • Socket, Devolve o obxecto de conexión recibido

recv

Ao ler o tamaño especificado dos datos desde a conexión, a diferenza do método de lectura, recv non garante que se lean os datos requiridos, pero volve inmediatamente despois de ler os datos

1
Buffer Socket.recv(Integer bytes = -1) async;

Parámetros de chamada:

  • bytes: En número enteiro, especifique a cantidade de datos que se vai ler, o valor predeterminado le datos de calquera tamaño

Resultado de volta:

  • Buffer, Devolve os datos lidos da conexión

send

Escribe os datos dados na conexión, este método equivale ao método de escritura

1
Socket.send(Buffer data) async;

Parámetros de chamada:

  • data: Buffer, Dados os datos a escribir

read

Le os datos do tamaño especificado desde o fluxo

1
Buffer Socket.read(Integer bytes = -1) async;

Parámetros de chamada:

  • bytes: Enteiro, especifique a cantidade de datos que se vai ler, o predeterminado é ler un bloque de datos de tamaño aleatorio, o tamaño dos datos lidos depende do dispositivo

Resultado de volta:

  • Buffer, Devolve os datos lidos do fluxo, se non hai datos para ler ou se interrompe a conexión, devolve nulo

write

Escribe os datos dados no fluxo

1
Socket.write(Buffer data) async;

Parámetros de chamada:

  • data: Buffer, Dados os datos a escribir

flush

Escribe o contido do búfer de ficheiros no dispositivo físico

1
Socket.flush() async;

close

Pecha o obxecto de fluxo actual

1
Socket.close() async;

copyTo

Copia os datos do fluxo ao fluxo de destino

1 2
Long Socket.copyTo(Stream stm, Long bytes = -1) async;

Parámetros de chamada:

  • stm: Stream, O obxecto de fluxo de destino
  • bytes: Longo, o número de bytes copiados

Resultado de volta:

  • Long, Devolve o número de bytes copiados

toString

Devolve a representación de cadea do obxecto, xeralmente devolve "[Obxecto nativo]", o obxecto pode reimplementarse segundo as súas propias características

1
String Socket.toString();

Resultado de volta:

  • String, Devolve a representación de cadea do obxecto

toJSON

Devolve a representación en formato JSON do obxecto, xeralmente devolve unha colección de atributos lexibles definidos polo obxecto

1
Value Socket.toJSON(String key = "");

Parámetros de chamada:

  • key: Cadea, sen usar

Resultado de volta:

  • Value, Devolve un valor que contén JSON serializable