WebSocket服务器消息传递协议
打开、发送和关闭消息
WebSocket服务器必须在发送邮件之前打开邮件。若要打开邮件,请使用以下架构:
注:JSON用于所有消息传递
{
“ws_op”:“打开”,
“ws_stream_id”:[“
}
打开消息后,将使用流ID来标识消息,从而建立连接。然后,WebSocket服务器使用此模式中继消息:
{
“ws_op”:“发送”,
“ws_msg”:“msg”
}
WebSocket服务器支持在流打开后发送多条消息。
发送消息后,最好请求WebSocket服务器关闭消息流。但是,如果消息未显式关闭,WebSocket服务器会自动关闭消息流。
{
“ws_op”:“关闭”
}
关键词:
- W_op:定义WebSocket操作。如果希望WebSocket服务器打开邮件,请指定“打开”。若要发送邮件,请指定“发送”。若要关闭消息流,请指定“结束”.
- ws\u流\u ID:标识一个或多个消息流,以便WebSocket服务器可以将其与正确的请求应用程序(如FME通知服务或WebSocket web服务器)关联。
获取有关打开的WebSocket频道的信息
您可以发送包含当前在FME Server WebSocket服务器上打开的所有频道信息的消息。此信息对于管理和排除WebSocket通信故障非常有用。
按流ID获取打开的WebSocket通道数
{
“ws_op”:“管理员”,
“ws_msg”:“GetNumChannel()”
}
对应的响应对象:
{
“numchannels”:<信道数>",
“溪流”:[
{
“流”:消息流id",
“numchannels”:<此\u流上的\u通道数\u打开\u>"
},
<...>
{
]
}
获取每个打开的WebSocket通道的连接信息
{
“ws_op”:“管理员”,
“ws_msg”:“getchannelinfo()”
}
对应的响应对象:
{
“numchannels”:<信道数>",
“频道”:[
{
“端口”:”<通道端口号>",
“流”:消息流id",
“主机”:通道\主机\ ip\地址",
“可写”:<通道\u可写\u为真\u或\u为假>"
},
<...>
{
]
}