【问题标题】:Will WebSocket achieve what I'm trying to do? [closed]WebSocket 会实现我想要做的事情吗? [关闭]
【发布时间】:2017-11-02 04:07:22
【问题描述】:

我正在创建一个简单的 java 应用程序,该应用程序是在 swing 中与数据库通信的。多人将同时使用该应用程序。由于他们能够同时更改内容,例如,如果某人添加了一个新用户,而另一个人在同一页面上,我希望通知未进行更改的人已对自上次加载以来的数据库。

我在大学的讲师建议我 WebSockets 将是实现这一目标的方法,但是在阅读了一些关于 Java 中的 WebSockets 之后,它似乎是基于 Web 浏览器而不是 Java 应用程序之间的工作。

使用 WebSockets 可以实现我想要的吗?或者,如果没有,有什么方法可以做到这一点?

【问题讨论】:

  • 感谢您的反对,现在您能解释一下原因,以便我改进这个问题。
  • 是的,您可以实现这一点,您必须编写一个自定义服务器以方便需求。在您的情况下,将数据库更改推送到客户端(服务器推送)。仅供参考,我不是反对者。通过编写 java 客户端和服务器,您可以相互通信。
  • 反对票很可能是因为这是一个非常笼统的问题,没有太多细节,而广泛的架构问题在 stackoverflow 上通常是题外话,因为没有具体的答案,只有很多意见。是的,webSocket 可用于从服务器向客户端或两个客户端之间发送通知。由于您的应用程序是 Java,您可以使用几乎任何您想要的技术,因此可以使用许多其他类型的 TCP 连接。
  • 一般?我在问我所问的问题是否可以通过相关 API 实现。无论如何,两个 cmets 中都有足够的信息来满足我的问题。我会接受任何一个作为答案。第一个引导我朝着正确的方向前进,从那时起我发现了一些潜在的解决方案。我不确定,因为所有教程似乎都在其中使用 HTML,我想知道 WebSockets 是否是 HTML 特定的东西,因为,你知道.. 软件有时可能是这样的。

标签: java websocket


【解决方案1】:

简单的答案是是的,你可以实现你所需要的

WebSocket 是一种通信协议(@see RFC 6455),它不是必须使用网络浏览器。

您可以使用您的应用程序实现您想要做的事情,只需编写一个自定义 WebSocket 服务器来满足您在将数据库更改发送到其他客户端的情况下的需求(这称为服务器推送)

有几个 java 库可以完成工作,

Netty WebSocket 是一个很好的入门工具,您可以在 its project 中找到示例来编写自定义客户端和服务器

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-04
    • 2011-02-27
    • 2014-02-24
    • 2014-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-20
    相关资源
    最近更新 更多