【问题标题】:Changing pictures on servlet with websocket使用 websocket 更改 servlet 上的图片
【发布时间】:2017-04-01 06:57:01
【问题描述】:
我有一个小型网站,每次用户点击图片时,它都会发生变化。它是基于 HTML5、JS、Java 和 Wildfly 制作的。有谁知道我如何更新其他用户浏览器的图像?我的意思是,每次有人点击图片时,它都会改变,我希望它在我网站上的其他用户上也能改变。
我使用 JSON 连接了 JavaScript 和 Java,但是如何将消息从 Java 发送到 Javascript?再次使用 JSON?
提前致谢
【问题讨论】:
标签:
javascript
java
json
html
servlets
【解决方案1】:
我能想到 2 个选项:
客户端,定期轮询服务器,询问是否应该获取新图像;是的话就拿去
与websocket 连接,并从您的服务器向客户端发送通知,告诉它获取新图像
选项 1 可能很容易实现。在您的后端创建一个端点来跟踪“当前”图像。您的客户可以点击该端点,并在确定有必要时更新图像。缺点是您将不断地从所有客户端轮询您的服务器。
选项 2 更强大一些。 websocket 允许双向通信。因此,在服务器端,您仍将跟踪当前图像。当客户端单击图像时,您会发送一条消息(客户端->服务器),通知后端更改图像。然后,您的服务器可以向所有打开的 websocket 发送一条消息,通知他们需要更改图像。您发送给客户的消息可能包含一个图像 url 或您需要显示它的任何信息。
希望这会有所帮助。