Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我应该跟踪在使用WebSocket时向谁发送通知,还是向所有用户发送通知?_Javascript_Java_Websocket - Fatal编程技术网

Javascript 我应该跟踪在使用WebSocket时向谁发送通知,还是向所有用户发送通知?

Javascript 我应该跟踪在使用WebSocket时向谁发送通知,还是向所有用户发送通知?,javascript,java,websocket,Javascript,Java,Websocket,我正在开发一个web应用程序,用户必须登录(这给了我一个句柄,我可以在websocket服务器中跟踪他们),我想知道跟踪他们是否值得。我需要发送一个通知,只有在主页上有更改时才对主页进行更改。维护主页上每个人的地图,只向他们发送通知,还是向每个人发送通知,然后让javascript查看他们是否在主页上,这样会更好吗? 谢谢你的意见 一般来说,Websocket(和TCP/IP)单播比广播占用更少的资源 TCP/IP实际上不允许广播,因此广播是通过迭代连接并向每个连接发送消息(单播)来实现的 话虽

我正在开发一个web应用程序,用户必须登录(这给了我一个句柄,我可以在websocket服务器中跟踪他们),我想知道跟踪他们是否值得。我需要发送一个通知,只有在主页上有更改时才对主页进行更改。维护主页上每个人的地图,只向他们发送通知,还是向每个人发送通知,然后让javascript查看他们是否在主页上,这样会更好吗?
谢谢你的意见

一般来说,Websocket(和TCP/IP)单播比广播占用更少的资源

TCP/IP实际上不允许广播,因此广播是通过迭代连接并向每个连接发送消息(单播)来实现的


话虽如此,服务器的代码可能比您自己的代码优化得更好,因此在某些情况下,与您自己迭代连接以在每个连接上运行一些代码相比,您在广播时可能会获得更好的性能。这将是一个例外,而不是常规。

一般来说,Websocket(和TCP/IP)单播比广播占用的资源更少

TCP/IP实际上不允许广播,因此广播是通过迭代连接并向每个连接发送消息(单播)来实现的


话虽如此,服务器的代码可能比您自己的代码优化得更好,因此在某些情况下,与您自己迭代连接以在每个连接上运行一些代码相比,您在广播时可能会获得更好的性能。这将是一个例外,而不是一条规则。

一些野生的websocket库有一个PUB/SUB功能,允许您订阅一个频道的连接,您可以将特定内容发布到该频道


要知道这样一个功能在性能(等)方面是否运行良好,需要对特定的库进行一些研究。

一些野生的websocket库有一个发布/订阅功能,它允许您订阅一个可以向其发布特定内容的频道的连接


要知道这样的功能在性能(等)方面是否运行良好,需要对特定库进行一些研究。

另一种选择是为主页提供专用的websocket路径(附加连接),以便只有当前正在查看主页的用户才能连接到它。。。如果你不使用WebSocket做任何其他事情,这是一个简单而有效的解决方案。使用WebSocket跟踪用户是资源密集型的—使用已集成到每个请求工作流中的身份验证过程或使用会话数据要好得多。按照同样的思路,如果我只想向特定用户发送通知,是否最好维护所有用户及其角色的映射(我如何决定谁会收到通知)或者只发送给每个人,并在必要时用javascript处理更新?感谢您的输入!另一个选择是有一个到主页的专用websocket路径(附加连接),这样,只有当前正在查看主页的用户才能连接到主页……如果您不使用WebSocket进行任何其他操作,这是一个简单而有效的解决方案。另外,使用WebSocket跟踪用户是资源密集型的,最好使用已集成到每个请求工作流中的身份验证过程或使用ses基于同样的思路,如果我只想向特定用户发送通知,那么最好维护所有用户及其角色的地图(我如何决定谁会收到通知),还是只发送给所有人并在必要时用javascript处理更新?谢谢您的输入!