nl::Inet::TCPEndPoint

#include <src/inet/TCPEndPoint.h>

Los objetos de esta clase representan extremos de transporte TCP.

Resumen

La capa Nest Inet encapsula métodos para interactuar con extremos de transporte TCP (sockets SOCK_STREAM en sistemas Linux y derivados de BSD) o bloques de control de protocolo TCP LwIP, ya que el sistema está configurado de manera correspondiente.

Herencia

Hereda de: nl::Inet::EndPointBasis

Tipos públicos

@10{
  kState_Ready = kBasisState_Closed,
  kState_Bound = 1,
  kState_Listening = 2,
  kState_Connecting = 3,
  kState_Connected = 4,
  kState_SendShutdown = 5,
  kState_ReceiveShutdown = 6,
  kState_Closing = 7,
  kState_Closed = 8
}
enum
Estado dinámico básico del extremo subyacente.
OnAcceptErrorFunct)(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Tipo de función de control de eventos de error de aceptación de conexión.
OnConnectCompleteFunct)(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Tipo de función de control de eventos de establecimiento de la conexión.
OnConnectionClosedFunct)(TCPEndPoint *endPoint, INET_ERROR err) typedef
void(*
Tipo de función de control de eventos de establecimiento de la conexión.
OnConnectionReceivedFunct)(TCPEndPoint *listeningEndPoint, TCPEndPoint *conEndPoint, const IPAddress &peerAddr, uint16_t peerPort) typedef
void(*
Tipo de función de control de eventos de conexión recibida.
OnDataReceivedFunct)(TCPEndPoint *endPoint, Weave::System::PacketBuffer *data) typedef
void(*
Tipo de función de control de eventos de recepción de datos.
OnDataSentFunct)(TCPEndPoint *endPoint, uint16_t len) typedef
void(*
Tipo de función de control de eventos de transmisión de datos.
OnPeerCloseFunct)(TCPEndPoint *endPoint) typedef
void(*
Tipo de función de control de eventos de recepción de cierre parcial.
OnTCPSendIdleChangedFunct)(TCPEndPoint *endPoint, bool isIdle) typedef
void(*
El tipo de función de control de la señal modificada de SendIdle de TCP.

Atributos públicos

OnAcceptError
El delegado de la función de control de eventos de aceptación de conexión del extremo.
OnConnectComplete
El delegado de la función de control de eventos de establecimiento de conexión del extremo.
OnConnectionClosed
El delegado de la función de control de eventos de cierre del extremo.
OnConnectionReceived
Delegado de la función de control de eventos de conexión del extremo.
OnDataReceived
El delegado de la función de control de eventos de recepción de texto del mensaje del extremo.
OnDataSent
El delegado de la función de control de eventos de transmisión de texto del mensaje del extremo.
OnPeerClose
El delegado de la función de control de eventos de recepción de cierre parcial del extremo
OnTCPSendIdleChanged
El delegado de la función de control de eventos del extremo que indica cuándo cambia la inactividad del canal de envío de la conexión TCP.
ReceiveEnabled
bool
Interruptor de control que indica si la aplicación recibe datos.
State
enum nl::Inet::TCPEndPoint::@10
Estado dinámico básico del extremo subyacente.

Funciones públicas

Abort(void)
void
Cerrar el extremo de forma anulada, en otras palabras, enviar paquetes de RST
AckReceive(uint16_t len)
Confirmar recepción del texto del mensaje
Bind(IPAddressType addrType, IPAddress addr, uint16_t port, bool reuseAddr)
Vincula el extremo a una dirección IP de interfaz.
Close(void)
Iniciar el cierre completo de TCP; en otras palabras, finalizar con envío y recepción.
Connect(IPAddress addr, uint16_t port, InterfaceId intf)
Inicia una conexión TCP.
DisableKeepAlive(void)
Inhabilita la opción “keep-alive” del TCP.
DisableReceive(void)
void
Inhabilitar recepción.
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
Habilita la opción “keep-alive” del TCP.
EnableNoDelay(void)
HabilitarNoDelay
EnableReceive(void)
void
Habilita la recepción.
Free(void)
void
Inicia (o continúa) el cierre completo de TCP e ignora los errores.
GetLocalInfo(IPAddress *retAddr, uint16_t *retPort)
Extrae la dirección IP y el puerto TCP del extremo local.
GetPeerInfo(IPAddress *retAddr, uint16_t *retPort) const
Extraer la dirección IP y el puerto TCP del extremo remoto
IsConnected(void) const
bool
Extrae si se estableció la conexión TCP.
Listen(uint16_t backlog)
Prepara el extremo para recibir mensajes TCP.
LogId(void)
uint16_t
Obtén un identificador para el extremo.
MarkActive(void)
void
Observa la actividad; en otras palabras, restablece el temporizador de inactividad.
PendingReceiveLength(void)
uint32_t
Extrae la longitud de los datos recibidos no confirmados.
PendingSendLength(void)
uint32_t
Extrae la longitud de los datos que esperan la primera transmisión.
PutBackReceivedData(Weave::System::PacketBuffer *data)
Enviar el texto del mensaje de vuelta al encabezado de la cola de recepción
Send(Weave::System::PacketBuffer *data, bool push)
Envía el texto del mensaje mediante la conexión TCP.
SetConnectTimeout(const uint32_t connTimeoutMsecs)
void
Establece el tiempo de espera para que Connect se ejecute correctamente o muestre un error.
SetUserTimeout(uint32_t userTimeoutMillis)
Configura la opción de socket TCP_USER_TIMEOUT.
Shutdown(void)
Inicia el TCP de cierre parcial, es decir, finaliza con el envío.

Tipos públicos

@10

 @10

Estado dinámico básico del extremo subyacente.

Los objetos se inicializan en el estado “listo”; pasan a los estados posteriores que corresponden a una simplificación de los estados de la máquina de estado de transporte TCP.

Nota: La enumeración del estado kBasisState_Closed se asigna a kState_Ready por motivos históricos de compatibilidad binaria. El kState_Closed existente existe para identificar por separado la distinción entre "todavía sin abrir" y "abierto antes ahora cerrado" que existía anteriormente en los estados kState_Ready y kState_Closed.

Propiedades
kState_Bound

Vinculado al extremo, pero sin escucha.

kState_Closed

El extremo está cerrado y listo para su lanzamiento.

kState_Closing

El extremo se cierra de manera bidireccional.

kState_Connected

El extremo está conectado y listo para tx/rx.

kState_Connecting

El extremo está intentando conectarse.

kState_Listening

Conexiones que reciben el extremo.

kState_Ready

Se inicializó el extremo, pero no se vinculó.

kState_ReceiveShutdown

El extremo respondió al cierre parcial.

kState_SendShutdown

El extremo inició su cierre parcial.

OnAcceptErrorFunct

void(* OnAcceptErrorFunct)(TCPEndPoint *endPoint, INET_ERROR err)

Tipo de función de control de eventos de error de aceptación de conexión.

Proporciona una función de este tipo al miembro delegado de OnAcceptError para procesar los eventos de error de aceptación de conexión en endPoint. El argumento err proporciona detalles específicos sobre el tipo de error.

Detalles
Parámetros
[in] endPoint
El extremo TCP asociado con el evento.
[in] err
Motivo del error.

OnConnectCompleteFunct

void(* OnConnectCompleteFunct)(TCPEndPoint *endPoint, INET_ERROR err)

Tipo de función de control de eventos de establecimiento de la conexión.

Proporciona una función de este tipo al miembro delegado OnConnectComplete para procesar los eventos de establecimiento de conexión en endPoint. El argumento err distingue las conexiones exitosas de las fallas.

Detalles
Parámetros
[in] endPoint
El extremo TCP asociado con el evento.
[in] err
INET_NO_ERROR si se ejecuta correctamente; de lo contrario, se trata de otro código.

OnConnectionClosedFunct

void(* OnConnectionClosedFunct)(TCPEndPoint *endPoint, INET_ERROR err)

Tipo de función de control de eventos de establecimiento de la conexión.

Proporciona una función de este tipo al miembro delegado de OnConnectionClosed para procesar los eventos de finalización de conexión en endPoint. El argumento err distingue entre las terminaciones exitosas y las fallas.

Detalles
Parámetros
[in] endPoint
El extremo TCP asociado con el evento.
[in] err
INET_NO_ERROR si se ejecuta correctamente; de lo contrario, se trata de otro código.

OnConnectionReceivedFunct

void(* OnConnectionReceivedFunct)(TCPEndPoint *listeningEndPoint, TCPEndPoint *conEndPoint, const IPAddress &peerAddr, uint16_t peerPort)

Tipo de función de control de eventos de conexión recibida.

Proporciona una función de este tipo al miembro delegado de OnConnectionReceived para procesar los eventos de recepción de conexión en listeningEndPoint. El extremo recién recibido conEndPoint se encuentra en la dirección IP peerAddr y el puerto TCP peerPort.

Detalles
Parámetros
[in] listeningEndPoint
El extremo TCP de escucha.
[in] conEndPoint
El extremo TCP recién recibido.
[in] peerAddr
La dirección IP del par remoto.
[in] peerPort
El puerto TCP del intercambio de tráfico remoto.

OnDataReceivedFunct

void(* OnDataReceivedFunct)(TCPEndPoint *endPoint, Weave::System::PacketBuffer *data)

Tipo de función de control de eventos de recepción de datos.

Proporciona una función de este tipo al miembro delegado OnDataReceived para procesar eventos de recepción de datos en endPoint, donde data es el texto del mensaje recibido.

Detalles
Parámetros
[in] endPoint
El extremo TCP asociado con el evento.
[in] data
Los datos recibidos

Un controlador de eventos de recepción de datos debe confirmar la recepción de los datos procesados mediante el método AckReceive. También se debe invocar el método Free del búfer de datos, a menos que se use PutBackReceivedData en su lugar.

OnDataSentFunct

void(* OnDataSentFunct)(TCPEndPoint *endPoint, uint16_t len)

Tipo de función de control de eventos de transmisión de datos.

Proporciona una función de este tipo al miembro delegado de OnDataSent para procesar eventos de transmisión de datos en endPoint, en la que len es la longitud del texto del mensaje agregado a la ventana de transmisión de TCP, que son aptas para el envío mediante la pila de red subyacente.

Detalles
Parámetros
[in] endPoint
El extremo TCP asociado con el evento.
[in] len
Cantidad de bytes agregados a la ventana de transmisión.

OnPeerCloseFunct

void(* OnPeerCloseFunct)(TCPEndPoint *endPoint)

Tipo de función de control de eventos de recepción de cierre parcial.

Proporciona una función de este tipo al miembro delegado de OnPeerClose para procesar los eventos de finalización de conexión en endPoint.

Detalles
Parámetros
[in] endPoint
El extremo TCP asociado con el evento.

OnTCPSendIdleChangedFunct

void(* OnTCPSendIdleChangedFunct)(TCPEndPoint *endPoint, bool isIdle)

El tipo de función de control de la señal modificada de SendIdle de TCP.

Proporciona una función de este tipo al miembro delegado de OnTCPSendIdleChanged para procesar el evento del canal de envío del TCPEndPoint que cambia el estado entre inactivo y no inactivo.

Detalles
Parámetros
[in] endPoint
El extremo TCP asociado con el evento.
[in] isIdle
Es verdadero si el canal de envío del extremo TCP está inactivo; de lo contrario, es falso.

Atributos públicos

OnAcceptError

OnAcceptErrorFunct OnAcceptError

El delegado de la función de control de eventos de aceptación de conexión del extremo.

OnConnectComplete

OnConnectCompleteFunct OnConnectComplete

El delegado de la función de control de eventos de establecimiento de conexión del extremo.

OnConnectionClosed

OnConnectionClosedFunct OnConnectionClosed

El delegado de la función de control de eventos de cierre del extremo.

OnConnectionReceived

OnConnectionReceivedFunct OnConnectionReceived

Delegado de la función de control de eventos de conexión del extremo.

OnDataReceived

OnDataReceivedFunct OnDataReceived

El delegado de la función de control de eventos de recepción de texto del mensaje del extremo.

OnDataSent

OnDataSentFunct OnDataSent

El delegado de la función de control de eventos de transmisión de texto del mensaje del extremo.

OnPeerClose

OnPeerCloseFunct OnPeerClose

El delegado de la función de control de eventos de recepción de cierre parcial del extremo

OnTCPSendIdleChanged

OnTCPSendIdleChangedFunct OnTCPSendIdleChanged

El delegado de la función de control de eventos del extremo que indica cuándo cambia la inactividad del canal de envío de la conexión TCP.

Las capas superiores la usan para tomar las medidas adecuadas en función de si los datos enviados se entregaron al intercambio de tráfico de manera confiable.

ReceiveEnabled

bool ReceiveEnabled

Interruptor de control que indica si la aplicación recibe datos.

Estado

enum nl::Inet::TCPEndPoint::@10 State

Estado dinámico básico del extremo subyacente.

Los objetos se inicializan en el estado “listo”; pasan a los estados posteriores que corresponden a una simplificación de los estados de la máquina de estado de transporte TCP.

Nota: La enumeración del estado kBasisState_Closed se asigna a kState_Ready por motivos históricos de compatibilidad binaria. El kState_Closed existente existe para identificar por separado la distinción entre "todavía sin abrir" y "abierto antes ahora cerrado" que existía anteriormente en los estados kState_Ready y kState_Closed.

Funciones públicas

Anular

void Abort(
  void
)

Cerrar el extremo de forma anulada, en otras palabras, enviar paquetes de RST

AckReceive

INET_ERROR AckReceive(
  uint16_t len
)

Confirmar recepción del texto del mensaje

Utiliza este método para confirmar la recepción de todos o parte de los datos recibidos. La semántica operativa no está definida si len es mayor que el total de datos recibidos pendientes no confirmados.

Detalles
Parámetros
[in] len
cantidad de bytes que se confirmarán.
Valores que se muestran
INET_NO_ERROR
éxito: se reconoce la recepción.
INET_ERROR_INCORRECT_STATE
No se estableció la conexión TCP.
INET_ERROR_CONNECTION_ABORTED
La conexión TCP ya no está abierta.

Vincular

INET_ERROR Bind(
  IPAddressType addrType,
  IPAddress addr,
  uint16_t port,
  bool reuseAddr
)

Vincula el extremo a una dirección IP de interfaz.

Vincula el extremo a la dirección IP de la interfaz de red especificada.

Detalles
Parámetros
[in] addrType
la versión del protocolo de la dirección IP
[in] addr
la dirección IP (debe ser una dirección de interfaz)
[in] port
el puerto TCP
[in] reuseAddr
opción para compartir la vinculación con otros extremos
Valores que se muestran
INET_NO_ERROR
correcto: extremo vinculado a la dirección
INET_ERROR_INCORRECT_STATE
que el extremo se vinculó anteriormente
INET_NO_MEMORY
memoria insuficiente para el extremo
INET_ERROR_WRONG_PROTOCOL_TYPE
addrType no coincide con IPVer.
INET_ERROR_WRONG_ADDRESS_TYPE
addrType es kIPAddressType_Any, o el tipo de addr no es igual a addrType.
other
otro error del sistema o de la plataforma

En LwIP, no se debe llamar a este método con el bloqueo de pila LwIP ya adquirido.

Cerrar

INET_ERROR Close(
  void
)

Iniciar el cierre completo de TCP; en otras palabras, finalizar con envío y recepción.

Detalles
Valores que se muestran
INET_NO_ERROR
correcto: se extrajeron la dirección y el puerto.
INET_ERROR_INCORRECT_STATE
No se estableció la conexión TCP.
other
otro error del sistema o de la plataforma

Conéctate

INET_ERROR Connect(
  IPAddress addr,
  uint16_t port,
  InterfaceId intf
)

Inicia una conexión TCP.

 If possible, then this method initiates a TCP connection to the
 destination \c addr (with \c intf used as the scope
 identifier for IPv6 link-local destinations) and \c port.

Detalles
Parámetros
[in] addr
la dirección IP de destino
[in] port
el puerto TCP de destino
[in] intf
un indicador de interfaz de red opcional
Valores que se muestran
INET_NO_ERROR
correcto: msg está en cola para transmitir.
INET_ERROR_NOT_IMPLEMENTED
no se completó la implementación del sistema.
INET_ERROR_WRONG_ADDRESS_TYPE
La dirección de destino y la dirección de interfaz vinculada no tienen versiones de protocolo ni tipo de dirección que coincidan, o bien la dirección de destino es de vínculo local IPv6 y no se especifica intf.
other
otro error del sistema o de la plataforma

DisableKeepAlive

INET_ERROR DisableKeepAlive(
  void
)

Inhabilita la opción “keep-alive” del TCP.

TCPEndPoint::DisableKeepAlive.

Inhabilita los sondeos de keepalive de TCP en la conexión TCP asociada.

Detalles
Valores que se muestran
INET_NO_ERROR
correcto: se extrajeron la dirección y el puerto.
INET_ERROR_INCORRECT_STATE
No se estableció la conexión TCP.
INET_ERROR_CONNECTION_ABORTED
La conexión TCP ya no está abierta.
INET_ERROR_NOT_IMPLEMENTED
no se completó la implementación del sistema.
other
otro error del sistema o de la plataforma

Nota: Solo se puede llamar a este método cuando el extremo está en uno de los estados conectados. Este método no hace nada si no se habilitaron keepalives en el extremo.

DisableReceive

void DisableReceive(
  void
)

Inhabilitar recepción.

Inhabilita todos los controladores de eventos. Los datos enviados a un extremo que inhabilita la recepción se confirmarán hasta que el período de recepción se agote.

EnableKeepAlive

INET_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

Habilita la opción “keep-alive” del TCP.

TCPEndPoint::EnableKeepAlive.

Comienza a transmitir automáticamente segmentos del sondeo de “keep-alive” de TCP cada interval segundos. La conexión se anulará automáticamente si se recibe una respuesta negativa o si se envían segmentos de sondeo timeoutCount sin recibir una respuesta positiva.

Detalles
Parámetros
[in] interval
tiempo en segundos entre las solicitudes de sondeo.
[in] timeoutCount
de sondeos a enviar antes del tiempo de espera.
Valores que se muestran
INET_NO_ERROR
correcto: se extrajeron la dirección y el puerto.
INET_ERROR_INCORRECT_STATE
No se estableció la conexión TCP.
INET_ERROR_CONNECTION_ABORTED
La conexión TCP ya no está abierta.
INET_ERROR_NOT_IMPLEMENTED
no se completó la implementación del sistema.
other
otro error del sistema o de la plataforma

Consulta RFC 1122, sección 4.2.3.6 para conocer los detalles de las especificaciones.

Habilita los sondeos de keepalive de TCP en la conexión TCP asociada.

Nota: Solo se puede llamar a este método cuando el extremo está en uno de los estados conectados. Se puede llamar a este método varias veces para ajustar el intervalo de keepalive o el recuento de tiempo de espera.

Detalles
Parámetros
interval
El intervalo (en segundos) entre los sondeos de keepalive. Este valor también controla el tiempo entre el último paquete de datos enviado y la transmisión del primer sondeo de keepalive.
timeoutCount
La cantidad máxima de sondeos no confirmados antes de que se considere que la conexión falló.

EnableNoDelay

INET_ERROR EnableNoDelay(
  void
)

HabilitarNoDelay

TCPEndPoint::EnableNoDelay.

Desactiva el algoritmo de almacenamiento en búfer de Nagle en TCP configurando las opciones de socket TCP_NODERA.

EnableReceive

void EnableReceive(
  void
)

Habilita la recepción.

Habilitar todos los controladores de eventos Los datos enviados a un extremo que inhabilita la recepción se confirmarán hasta que el período de recepción se agote.

Gratis

void Free(
  void
)

Inicia (o continúa) el cierre completo de TCP e ignora los errores.

El objeto se devuelve al grupo gratuito y, por lo tanto, todas las referencias de usuario restantes son no válidas.

GetLocalInfo

INET_ERROR GetLocalInfo(
  IPAddress *retAddr,
  uint16_t *retPort
)

Extrae la dirección IP y el puerto TCP del extremo local.

No uses valores de puntero NULL para ningún argumento.

Detalles
Parámetros
[out] retAddr
Dirección IP del extremo local.
[out] retPort
Puerto TCP del extremo local.
Valores que se muestran
INET_NO_ERROR
correcto: se extrajeron la dirección y el puerto.
INET_ERROR_INCORRECT_STATE
No se estableció la conexión TCP.
INET_ERROR_CONNECTION_ABORTED
La conexión TCP ya no está abierta.

GetPeerInfo

INET_ERROR GetPeerInfo(
  IPAddress *retAddr,
  uint16_t *retPort
) const 

Extraer la dirección IP y el puerto TCP del extremo remoto

No uses valores de puntero NULL para ningún argumento.

Detalles
Parámetros
[out] retAddr
Dirección IP del extremo remoto.
[out] retPort
Puerto TCP del extremo remoto.
Valores que se muestran
INET_NO_ERROR
correcto: se extrajeron la dirección y el puerto.
INET_ERROR_INCORRECT_STATE
No se estableció la conexión TCP.
INET_ERROR_CONNECTION_ABORTED
La conexión TCP ya no está abierta.

IsConnected

bool IsConnected(
  void
) const 

Extrae si se estableció la conexión TCP.

Escuchar

INET_ERROR Listen(
  uint16_t backlog
)

Prepara el extremo para recibir mensajes TCP.

Si State ya es kState_Listening, no se realiza ninguna operación. De lo contrario, State se establece en kState_Listening y el extremo está preparado para recibir mensajes TCP, según la semántica de la plataforma.

Detalles
Parámetros
[in] backlog
profundidad máxima de la cola de aceptación de conexiones
Valores que se muestran
INET_NO_ERROR
Listo: el extremo está listo para recibir mensajes.
INET_ERROR_INCORRECT_STATE
extremo ya está escuchando.

En algunas plataformas, no se usa el argumento backlog (la profundidad de la cola es fija; solo se puede aceptar una conexión a la vez).

En los sistemas LwIP, no se debe llamar a este método con el bloqueo de pila LwIP ya adquirido.

LogId

uint16_t LogId(
  void
)

Obtén un identificador para el extremo.

Detalles
Qué muestra
Muestra un identificador único opaco para los registros de uso.

MarkActive

void MarkActive(
  void
)

Observa la actividad; en otras palabras, restablece el temporizador de inactividad.

Restablece el temporizador de inactividad a cero.

PendingReceiveLength

uint32_t PendingReceiveLength(
  void
)

Extrae la longitud de los datos recibidos no confirmados.

Detalles
Qué muestra
Cantidad de bytes en la cola de recepción que aún no se confirmaron con AckReceive(uint16_t len).

PendingSendLength

uint32_t PendingSendLength(
  void
)

Extrae la longitud de los datos que esperan la primera transmisión.

Detalles
Qué muestra
Número de bytes no transmitidos en la cola de transmisión.

PutBackReceivedData

INET_ERROR PutBackReceivedData(
  Weave::System::PacketBuffer *data
)

Enviar el texto del mensaje de vuelta al encabezado de la cola de recepción

Solo los controladores de eventos de recepción de datos pueden llamar a este método para volver a colocar una parte no confirmada de datos en la cola de recepción. La semántica operativa no está definida si el llamador está fuera del alcance de un controlador de eventos de recepción de datos, data no es el Weave::System::PacketBuffer proporcionado al controlador o data no contiene la parte no confirmada restante después de los bytes confirmados por una llamada anterior al método AckReceive(uint16_t len).

Detalles
Parámetros
[out] data
Texto del mensaje para enviar.
Valores que se muestran
INET_NO_ERROR
éxito: se reconoce la recepción.
INET_ERROR_INCORRECT_STATE
No se estableció la conexión TCP.

Enviar

INET_ERROR Send(
  Weave::System::PacketBuffer *data,
  bool push
)

Envía el texto del mensaje mediante la conexión TCP.

Se llama al método Weave::System::PacketBuffer::Free en el argumento data, independientemente de si la transmisión se realizó correctamente o no.

Detalles
Parámetros
[out] data
Texto del mensaje que se enviará.
[out] push
Si es true, enviar de inmediato; de lo contrario, pon en cola.
Valores que se muestran
INET_NO_ERROR
correcto: se extrajeron la dirección y el puerto.
INET_ERROR_INCORRECT_STATE
No se estableció la conexión TCP.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

Establece el tiempo de espera para que Connect se ejecute correctamente o muestre un error.

Detalles
Parámetros
[in] connTimeoutMsecs

SetUserTimeout

INET_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

Configura la opción de socket TCP_USER_TIMEOUT.

TCPEndPoint::SetUserTimeout.

Cuando el valor es mayor que 0, especifica la cantidad máxima de tiempo (expresada en milisegundos) en que los datos transmitidos pueden permanecer no confirmados antes de que el TCP cierre forzadamente la conexión correspondiente. Si el valor de la opción se especifica como 0, TCP usará el valor predeterminado del sistema. Consulta RFC 5482 para obtener más detalles.

Detalles
Parámetros
[in] userTimeoutMillis
Valor de tiempo de espera del usuario de TCP en milisegundos.
Valores que se muestran
INET_NO_ERROR
correcto: se extrajeron la dirección y el puerto.
INET_ERROR_NOT_IMPLEMENTED
no se completó la implementación del sistema.
other
otro error del sistema o de la plataforma

Configura la opción de socket de tiempo de espera del usuario TCP.

Cuando el valor es mayor que 0, especifica la cantidad máxima de tiempo (expresada en milisegundos) en que los datos transmitidos pueden permanecer no confirmados antes de que el TCP cierre forzadamente la conexión correspondiente. Si el valor de la opción se especifica como 0, TCP usará el valor predeterminado del sistema. Consulta RFC 5482 para obtener más detalles.

Nota: Solo se puede llamar a este método cuando el extremo está en uno de los estados conectados. Se puede llamar a este método varias veces para ajustar el intervalo de keepalive o el recuento de tiempo de espera.

Cierre

INET_ERROR Shutdown(
  void
)

Inicia el TCP de cierre parcial, es decir, finaliza con el envío.

Detalles
Valores que se muestran
INET_NO_ERROR
correcto: se extrajeron la dirección y el puerto.
INET_ERROR_INCORRECT_STATE
No se estableció la conexión TCP.
other
otro error del sistema o de la plataforma