Cómo resolver el problema del tiempo de espera de operación del socket
La clase StreamSocket
se implementa en Windows
aplicaciones de tiempo de ejecución
TCP
Enchufe. TCP
TCP
Un socket debe establecer una conexión para enviar o recibir datos de la red. En Windows
8.1, Windows
Phone
8.1
y
Windows
Básico implementado en Server
2012
TCP
El socket se utilizará para todos
TCP
Funcionamiento del socket de conexión, con tiempo de espera predeterminado establecido. Cuando se utilizan nombres de host o puntos finales, el tiempo de espera predeterminado es
3
minutos (180
segundos) por par de direcciones de origen y destino. Por lo tanto, si el nombre de host de destino tiene dos direcciones
IP
, la operación de conexión solo expirará después de aproximadamente
6
minutos. Este tiempo de espera predeterminado puede ser demasiado largo para la experiencia del cliente al utilizar aplicaciones en tiempo de ejecución de
Windows
. Por lo tanto, es posible que las aplicaciones que utilizan la clase
StreamSocket
quieran establecer un tiempo de espera personalizado más corto para las operaciones de conexión de sockets de transmisión. Las clases
DatagramSocket
y
StreamSocket
no tienen un tiempo de espera predeterminado al enviar o recibir datos de red. Por lo tanto, cualquier operación de envío o recepción esperará para siempre. Es posible que las aplicaciones en tiempo de ejecución de Windows
Windows
que utilizan sockets deseen establecer tiempos de espera para estas operaciones para una mejor experiencia del cliente.
StreamSocketListener
La clase siempre escuchará y esperará las solicitudes de conexión entrantes.
Cómo establecer tiempos de espera personalizados para operaciones de socket
JavaScript
El lenguaje admite eventos cronometrados que ejecutan código específico en intervalos específicos.
JavaScript
Eventos cronometrados
setInterval()
-
En un intervalo de tiempo específico (milisegundos) Ejecutar una función repetidamente.
setTimeout()
-
Ejecute la función una vez después de esperar el número especificado de milisegundos.
La función de evento de tiempo de espera se implementa en el objeto
HTML
DOM
Ventana
.
WinJS
El espacio de nombres proporciona funciones especiales para
objetos de Windows
JavaScript
p >Biblioteca, que incluye
objetos WinJS.Promise
. El método timeout(timeout,
promise)
encapsula la función
setTimeout
. Si la promesa no se completa dentro del número de milisegundos especificado en el parámetro
tiempo de espera
, las aplicaciones
Windows
pueden usar
timeout(timeout,
promesa)
cancela esta promesa.
Si la operación del socket no se completa dentro del intervalo de tiempo especificado en el parámetro
timeout
, puede llamar a
timeout( tiempo de espera,
promesa)
método y tiempo de espera de la operación del socket como el parámetro
promesa
. Una operación de socket se puede cancelar mientras la operación permanezca pendiente.
WinJS.Promise
Objeto y
tiempo de espera(tiempo de espera,