Configuración
|
Tipo base
|
Por defecto
|
Notas
|
---|---|---|---|
Directiva de protección de enlace
|
STRING
|
First-in-wins
|
Elija el valor de Directiva de protección de enlace que desee en el menú. Por defecto, la directiva es First-in wins. Esta directiva significa que si la plataforma recibe un nuevo intento de enlace de un dispositivo de periferia que ya está enlazado, la plataforma rechaza el nuevo intento de enlace.
La directiva Last-in wins significa que, en lugar de rechazar un enlace nuevo para el dispositivo ya enlazado, la plataforma debe aceptar ese enlace nuevo y actualizar las reglas de distribución sobre cómo se envían los mensajes a la periferia.
|
Configuración
|
Tipo base
|
Por defecto
|
Notas
|
---|---|---|---|
Interrupción por tiempo de inactividad de conexión (segundos)
|
INTEGER
|
60
|
Una vez que se haya establecido la conexión, el subsistema de comunicaciones WebSocket espera el número especificado de segundos antes de cerrar la conexión. Si hay actividad, se reinicia el temporizador de inactividad.
|
Velocidad de ping de inactividad (segundos)
|
INTEGER
|
45
|
ThingWorx espera el número de segundos especificados para un ping de un cliente. Si se recibe un ping, el ciclo de comunicación continúa.
Si no se recibe un pong para una solicitud de ping en el número de segundos especificado, el SDK se desconectará e intentará volver a conectarse. La desconexión cerrará el socket, la conexión de ThingWorx, la conexión de WebSocket, la conexión de TLS y el socket de nivel de SO. La reconexión creará nuevas versiones de estas capas de conexión, suponiendo que cada capa de autenticación sea correcta.
|
Cantidad de tiempo que se debe esperar por el mensaje de autenticación (segundos).
|
INTEGER
|
15
|
Después de que se establezca la conexión, el servidor remoto espera la cantidad de tiempo especificada para la autenticación.Si la autenticación no se recibe, el socket se cierra.
|
Cantidad de tiempo que una solicitud esperará por el mensaje de respuesta antes de que se agote el tiempo de espera (segundos).
|
INTEGER
|
30
|
Si el servidor está en línea y la solicitud falla, se produce un error.Si el servidor está fuera de línea, la solicitud se coloca en la cola hasta que el servidor vuelva a estar en línea.
|
Enviar una interrogación (ping) después de enviar un mensaje o tráfico de túnel
|
BOOLEAN
|
True
|
Permite enviar una interrogación (ping) después de que un cliente envíe un mensaje a la plataforma. Esta configuración se aplica cuando se crea la conexión.
|
Configuración
|
Tipo base
|
Por defecto
|
Notas
|
---|---|---|---|
Nº máx. de subprocesos
|
NUMBER
|
10
|
Se utiliza para las comunicaciones de salida a dispositivos Edge y especifica el número de subprocesos disponibles para comunicarse con cosas remotas. Un ejemplo de una comunicación de salida sería ejecutar un servicio remoto en una cosa remota. Cualquier solicitud por encima del valor especificado se envía a una cola.
|
Configuración
|
Tipo base
|
Por defecto
|
Notas
|
---|---|---|---|
Nombre de extremo
|
STRING
|
n/d
|
Nombre definido por el usuario
|
URI del extremo
|
STRING
|
n/d
|
URI del servidor remoto con el que se debe federar
|
Número máximo de conexiones de extremo
|
INTEGER
|
1
|
Número de conexiones abiertas al servidor remoto
|
Frecuencia de ping inactivo (segundos)
|
INTEGER
|
45
|
Se utiliza al federar dos servidores. La frecuencia de ping inactivo permite especificar con qué frecuencia el servidor envía un ping al servidor remoto. Mantiene la conexión activa de modo que los sistemas intermedios no cierran el servidor por estar inactivo y evita que el servidor remoto apague la conexión por estar inactiva.
|
Clave de aplicación
|
PASSWORD
|
n/d
|
Al pulsar el botón Cambiar contraseña, aparece la pantalla Cambiar contraseña. Aquí se puede introducir una nueva clave de aplicación.
|
|
Solo los administradores pueden utilizar los servicios de WSCommunicationsSubsystem.
|
|
También se puede activar el servicio CloseEndpointSessions para desconectar dispositivos con claves de aplicación vencidas a intervalos periódicos. A continuación, se muestra un script de ejemplo en el que se identifican dispositivos con claves de aplicación vencidas y se cierran sus conexiones:
// This script is for informational and example purposes only, and you must // configure/validate it to ensure that it meets your functional and security requirements. // result: INFOTABLE dataShape: "" var expiredKeysTable = Subsystems["UserManagementSubsystem"].GetApplicationKeyExpirationInfo({ expiredKeys: true /* BOOLEAN */ , unexpiredKeys: false /* BOOLEAN */ }); // Create InfoTable from EntityList DataShape var params = { infoTableName: "InfoTable", dataShapeName: "EntityList" }; // CreateInfoTableFromDataShape(infoTableName:STRING("InfoTable"), dataShapeName:STRING):INFOTABLE(EntityList) var result = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params); for (var i = 0; i < expiredKeysTable.rows.length; i++) { var expirationInfoTable = expiredKeysTable.rows[i].expirationInfo.rows; for (var j = 0; j < expirationInfoTable.length; j++) { // Add the name and key to result InfoTable var newEntry = new Object(); newEntry.name = expirationInfoTable[j].name;// STRING [Primary Key] result1 = Subsystems["WSCommunicationsSubsystem"].CloseEndpointSessions({ appKeyName: expirationInfoTable[j].name /* APPLICATIONKEYNAME */ }); logger.warn("Number of closed Sessions: " + result1); logger.warn("Expired application keys: " + expirationInfoTable[j].name); } } |
|
El servicio CloseEndpointSessions no provoca el vencimiento de las claves de aplicación que utilizan las sesiones que cierra, ni las invalida. Si desea desconectar dispositivos que utilizan una clave de aplicación determinada e impedir que los dispositivos se reconecten, primero fuerce el vencimiento de la clave de aplicación mediante la actualización de la fecha de vencimiento. A continuación, invoque este servicio para cerrar las sesiones.
|
Servicio
|
Descripción
|
||||||
---|---|---|---|---|---|---|---|
QueryEndpointSessions
|
Este servicio toma los siguientes parámetros para consultar las sesiones de extremo:
• authenticationType (STRING)
• appKeyName (APPLICATIONKEYNAME)
• userName (USERNAME)
• startedBefore (DATETIME)
• startedAfter (DATETIME)
• lastUsedBefore (DATETIME)
• lastUsedAfter (DATETIME)
• hasBoundThings (BOOLEAN)
• hasMultipleConnections (BOOLEAN)
• maxItems (NUMBER). El valor por defecto es 500 resultados.
Este servicio devuelve un objeto INFOTABLE en el que se incluyen los siguientes campos:
• endpointId. Identificador del extremo, no de la propia sesión.
• authenticationType. Por ejemplo, "clave de aplicación" o "credenciales de usuario".
• appKeyName El nombre de la clave de aplicación, si procede.
• userContext. El nombre asociado a la cuenta en la que se ha ejecutado el servicio. Para todos estos servicios, es "Administrador".
• startDate
• lastUsedDate. Excluye los pings.
• numberBoundThings. Número de cosas enlazadas a través de este extremo.
• numberConnections. El número actual de conexiones abiertas. Para una instancia de ThingWorx Connection Server o un conector de ThingWorx, puede haber varias conexiones.
|
||||||
GetBoundThingsForEndpoint
|
Este servicio toma un ID de extremo. Cuando se invoca el servicio desde la interfaz de usuario de Composer, se puede definir opcionalmente un número máximo de filas que devolver. Se devuelve un objeto INFOTABLE en el que se incluyen los nombres de las cosas enlazadas al extremo especificado, hasta el número máximo de filas especificado.
Este servicio permite a los administradores determinar qué cosas están enlazadas a qué extremos sin experimentar problemas potenciales de memoria al incluirlos en los resultados de QueryEndpointSessions.
|
||||||
CloseEndpointSessions
|
Este servicio toma un ID de extremo o todos los parámetros del servicio QueryEndpointSessions, excepto para maxItems. Si se proporcionan ambos, el servicio devuelve un error.
Este servicio cierra todas las sesiones que coinciden con los criterios. Al especificar el extremo, utilice el ID de extremo que el servicio QueryEndpointSessions ha devuelto.
Este servicio no provoca el vencimiento de las claves de aplicación que utilizan las sesiones que cierra, ni las invalida. Por este motivo, si se tiene previsto desconectar dispositivos con una clave de aplicación determinada e impedir que se vuelvan a conectar, primero se debe forzar el vencimiento de la clave de aplicación actualizando la fecha de vencimiento y, a continuación, invocar este servicio para cerrar las sesiones.
Las invocaciones de este servicio se auditan, si el subsistema de auditoría está activado. Los mensajes de auditoría se encuentran en la categoría DEVICE_COMMUNICATIONS. Para obtener información sobre el subsistema de auditoría, consulte Subsistema de auditoría y los temas relacionados.
|
||||||
CloseEndpoints
|
Este servicio toma los siguientes parámetros para consultar las sesiones de extremo:
• appKeyName (APPLICATIONKEYNAME)
• endpointId (STRING)
Si se proporcionan ambos, el servicio devuelve un error.
Este servicio devuelve un elemento NUMBER que indica el número de conexiones de extremo que se han intentado cerrar.
Este servicio cierra todas las conexiones de extremo asociadas con el objeto appKeyName proporcionado o el objeto endpoint ID. Utilice el objeto endpoint ID de que devuelve el servicio QueryEndpointSessions al especificar el extremo.
La invocación de este servicio que provoca el cierre de las conexiones de extremo se auditan si el subsistema de auditoría está activado. Los mensajes de auditoría se clasifican en DEVICE_COMMUNICATIONS. Para obtener información sobre el subsistema de auditoría, consulte Subsistema de auditoría y los temas relacionados.
|