【问题标题】:Client opens AJAX connection and waits for server to send an update [duplicate]客户端打开 AJAX 连接并等待服务器发送更新 [重复]
【发布时间】:2015-08-25 15:16:15
【问题描述】:

我有一个 Java 服务器(没有外部库并且不使用sun.net.httpserver 包)

我想让客户端打开与服务器的连接并等待服务器发送更新。问题在于某些浏览器(例如 IE11)将使用 AJAX 套接字来发送新请求(例如 GET / HTTP/1.1),而问题在于它会导致我的服务器崩溃。我可以在关闭网页时关闭套接字,但客户端必须打开一个新套接字才能发送另一个 HTTP 请求。

有没有一种有效的方法来做到这一点?

编辑:另一个问题...有没有办法使用 Java 监听套接字输入流的变化?

【问题讨论】:

  • “它导致我的服务器崩溃”然后你的服务器坏了,应该修复
  • @Raedwald 服务器没有损坏。它只需要一个 AJAX 请求,而是接收例如一个 GET,否则它工作得很好。
  • 如果您的程序的输入会导致它崩溃,那么您的程序就坏了。如果通过网络输入会导致您的程序崩溃,那么它很容易受到拒绝服务攻击。
  • @Raedwald 没关系,因为由于旧模型的工作方式,我已经开始重新设计服务器。新模型不会包含错误,因为它对新连接的响应方式发生了变化。

标签: java ajax java-server


【解决方案1】:

既然您无论如何都在使用长寿命连接,也许您应该考虑将数据从服务器推送到浏览器..

查看这个问题的答案,了解更多信息: Is there some way to PUSH data from web server to browser?

【讨论】:

  • 谢谢,这正是我想要的。我之前搜索时(在提问之前)找不到它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-24
  • 1970-01-01
  • 1970-01-01
  • 2017-12-04
  • 1970-01-01
  • 2018-12-14
  • 1970-01-01
相关资源
最近更新 更多