Websocket行为路径,是否需要在每个url更改上创建新连接?

时间:2018-10-13 18:07:49

标签: c# websocket websocket-sharp

我基于websocket-sharp创建了一个Websocket服务器,具有两种行为,例如:

  • ws:// host / behavior1
  • ws:// host / behavior2

从JavaScript中,当我打开到WebSocket服务器的连接时,需要指定将接受我的消息的行为的URL。在不创建新的Websocket连接的情况下连接到behavior1的网址时如何调用behavior2?这可能吗?

这时我正在考虑创建一种行为,该行为将解析我的消息并重定向到适当的消息处理程序。

除了逻辑除法之外,是否有其他理由使用多种行为?有什么理由使用这种逻辑划分,即使它会强制创建新的连接?

1 个答案:

答案 0 :(得分:0)

  

当我连接到behavior1的网址时,如何调用behavior2   无需创建新的websocket连接?

当您有两个URL时,您将必须建立两个不同的连接 每个网址。您不能重复使用相同的连接来连接到不同的URL。

  

目前,我正在考虑创建一种将解析的行为   我的消息,然后重定向到适当的消息处理程序。

这将是最好的方法。您可以在WebSocket帧中发送诸如json数据,然后解析此数据以识别适当的行为并进行相应处理。例如,您可以在每个框架中都有一个JSON对象,如下所示:

{
   "behavior":1,
   "content": "your content to be processed"
}
  

除了逻辑除法之外,是否有其他理由使用多种行为?   使用此逻辑除法的任何理由,即使它会强制创建一个逻辑除法   新的连接?

您仅需要对每个客户端使用不同的特定于连接的特定数据使用不同的URL。例如ID或名称。如果同一客户端在不同时间需要不同的行为,则可以如上所述为WebSocket框架中的数据定义自己的约定。