java - 选择 xmpp 或 java servlet 作为聊天服务器

标签 java servlets xmpp forum irc

我对 xmpp 协议(protocol)做了一些(但不是高级专家)研究,并学习了用于制作 JSP 和 Servlet 的 java 和 Java EE。

我想制作一个基于网络的聊天系统。显然,这需要基于 javascript、css、html 的前端 UI(如果使用 xmpp 完成,则可以使用一些桌面 xmpp 客户端)。

我真的无法决定使用什么。 xmpp 或 java servlet(因为除了典型的 jsp 网站之外还可以使用它们)。两者都可以完成。有一些开源 xmmp 服务器可供我使用和自定义,或者我可以从头开始编写自己的基于 servlet 的服务器应用程序。

我应该使其兼容 xmpp 还是只使用 java 中的 Socket 类而不关心 xmpp?

我描述的聊天服务器具有类似的属性,例如 IRC、Facebook 聊天和类似 stackoverflow 的论坛的混合

这是一个长期战略的问题,提前规划好处、功能以及问题或限制。

最佳答案

XMPP是一个协议(protocol)。 Java EE 是一项技术。

XMPP 已实现 in Java, but also for lots of other technologies

你的问题毫无意义:在真皮座椅和家用汽车之间进行选择......

嗯,你可以选择家用车和真皮座椅。或者是带有真皮座椅的跑车。或者是配备真皮座椅的 SUV。 ...

<小时/>

根据您的评论进行编辑:

I wanted to ask that should I make it xmpp compliant or just use a Socket class in java and do all workings with port 80

为什么不使用现有的实现 XMPP 协议(protocol)的 Java 库?您应该通过不重新发明轮子来节省时间......

"should I make it xmpp compliant or just use a Socket class in java and dont care about xmpp?"

如果现有的库和协议(protocol)适合您的需求,您应该使用它们。如果现有的服务器可以满足您的要求,那么就使用它吧。如果没有,但您可以相当轻松地自定义它,那么就使用它,如果没有,则如果 XMPP 满足您的需求,则使用现有的 XMPP 库创建您的服务器。

您是唯一知道自己需要什么的人。您可以根据 XMPP 协议(protocol)规范来决定它是否涵盖它们。

关于java - 选择 xmpp 或 java servlet 作为聊天服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13865368/

相关文章:

java - 404 未找到 : Something wrong with access to a servlet deployed on Tomcat

c# - XElement 中的 XML 解析 ':'

java - 如何使用 xAgent 读取 RSS 提要?

java - 一个post请求对象可以在另一个post请求中转发吗?

java - 声音池 "AudioFlinger could not create track, status: -12"

java - servlet 实例如何工作?

xmpp ejabberd - 查询用户状态

ios - 不应使用 ejabberd 中的 mod_apns.erl 接收被阻止的用户的通知

java - Map.Entry::getKey 在 groupby 下抛出错误

java - 如何确保 Maven 插件在类编译之前执行?