【问题标题】:preserving and retrieving user socket from within a servlet从 servlet 中保存和检索用户套接字
【发布时间】:2012-12-13 07:50:13
【问题描述】:

我正在构建一个 restful ws,我想添加一个即时消息功能,我知道有现成的解决方案,restful 不是这种情况的正确设计,我的问题如下:

  1. 如果服务器(如 tomcat 或 glassfish)正在运行容器,当用户发出登录请求时,是否有办法从 servlet 中检索套接字

  2. 如何更改服务器(glassfish 或 tomcat)策略以保持套接字活动

  3. 是否有用于从服务器本身进行用户登录的内置机制(假设我编写了数据库登录查询),这使我能够触发消息事件以发送给某些用户\用户名,而无需关心套接字的方式被管理

  4. 我的动机是让用户能够在用户之间发送私人消息\因此不需要发布订阅设计

  5. 使用 im 启用 Web 服务的理想设计是什么

  6. jdbc 领域或 jmx 可以在这里提供帮助吗?

【问题讨论】:

  • 我认为没有一种标准方法可以在 servlet 容器中检索套接字。 HTTP 在设计上是一种无状态的请求-响应协议。我猜你不能为此使用不同的端口,对吧?
  • 我可以,但我试图避免将消息传递和登录迁移到 servlet 之外,我猜这无论如何都与休息相悖,你会推荐任何其他协议或内置服务器功能来帮助这个因为没有绑定到接受器端口套接字并管理我的套接字,jboss 是否有类似的东西,我正在寻找一个可以运行 ws 并具有基本 xmpp 样式功能的服务器,假设我编写了我的登录查询

标签: java rest tomcat login glassfish


【解决方案1】:

我认为这不是一个好主意。我宁愿看一下添加到 Servlet 3.0 规范中的异步功能(顺便说一下,聊天是这些功能的典型示例)。你也可以看看这个解决方案(特定于 RESTful 设计):http://blog.wordnik.com/introducing-swaggersocket-a-rest-over-websocket-protocol

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 2018-06-03
    • 1970-01-01
    • 2014-06-27
    相关资源
    最近更新 更多