我希望用Java实现一个简单的XMPP服务器。

我需要的是一个可以解析和理解来自客户端的xmpp请求的库。我看过Smack(如下所述)和JSO。Smack似乎仅是客户端,因此虽然它可能有助于解析数据包,但它不知道如何响应客户端。是JSO维护的,它看起来很旧。唯一有前途的途径是拆散Openfire,后者是整个商业(OSS)XMPP服务器。

我只是希望在Netty或Mina之上有几行代码,所以我可以开始处理一些消息。

乔-

好吧,我要做什么的答案有些长-我会尽量简短。

有两件事只是松散相关:

1)我想编写一个XMPP服务器,因为我想编写一个供两个客户端进行通信的自定义协议。基本上,我在考虑联网的iPhone应用程序-

但我不想依赖于低级二进制协议,因为使用XMPP之类的东西意味着该应用程序可以非常迅速地从基于本地wifi的应用程序“成长”到基于Internet的应用程序…

交换的消息应该具有相对较低的延迟,因此严格来说,二进制协议是最好的,但是我觉得值得探索一下XMPP是否不会引入过多的开销,以便我可以使用它,然后从中获得其可扩展性的好处。和灵活性。

2)我为Terracotta工作-

所以我有这个疯狂的想法将所有东西都聚在一起。一开始考虑编写一些自定义服务器代码,我就想将其集群。Terracotta使得扩展Java

POJO变得微不足道,因此我的想法是构建一个超级简单的XMPP服务器作为Terracotta的演示应用程序。基本上,每个用户都将通过TCP连接连接到服务器,这会将用户注册到哈希图中。每个用户都有一个LinkedBlockingQueue,其中一个侦听器线程从队列中获取消息。然后,任何想要向其他任何用户发送消息的已连接用户(例如,任何旧的聊天应用程序)都只需通过连接向该用户发出XMPP消息(照常)。服务器将其拾取,在地图中查找相应的用户对象,然后将消息放入队列。由于队列是集群的,

所以-

恐怕摘要太短了。但这就是我要做的。我想我可以为Openfire编写一个插件来完成#1,但我认为它要花很多精力,所以很难做#2(特别是因为我希望能容纳少量的代码)简单的10-20kb

Maven项目)。

java xmpp 框架_用于服务器端的好的XMPP Java库?相关推荐

  1. java gui框架_推荐!程序员整理的Java资源大全

    构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建.Maven优于Apache Ant.后者采用了一种过程化 ...

  2. java初学者书籍_面向初学者的5本最佳Java核心书籍

    java初学者书籍 Today I am sharing the best java books to learn java programming. Java is one of the most ...

  3. java 面试 框架_这份java集合框架面试题,轻松搞定面试官!

    集合框架 1. ArrayList 和 Vector 的区别. 这两个类都实现了 List 接口(List 接口继承了 Collection 接口),他们都是有序集 合,即存储在这两个集合中的元素的位 ...

  4. java rest框架_比较Java REST文档框架

    java rest框架 决定在记录REST API时选择哪种Java框架可能很麻烦. 在本博文中,我们将简要比较我们自己使用的REST Web服务的三个文档框架,以及它们如何与Spring框架(这是F ...

  5. java 注解 框架_深入浅析Java注解框架

    我们经常会在java代码里面看到:"@Override","@Target"等等样子的东西,这些是什么? 在java里面它们是"注解". 下 ...

  6. java jsp框架_介绍几个开源的JSP开发框架

    以下介绍几个开源的JSP开发框架. WebWork WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架.WebWork目前***版本是2 ...

  7. java bdd 框架_常见的BDD框架

    常见的BDD框架: ?C – Cspec ?C++ – CppSpec, Spec-CPP ?.Net – NBehave, NSpecify, SpecFlow ?Groovy – GSpec, e ...

  8. java 分布式计算框架_学Java分布式和高级架构,必懂的两大知识点!

    原标题:学Java分布式和高级架构,必懂的两大知识点! 第一部分:分布式 三步变成:分布式 1.将你的整个软件视为一个系统(不管它有多复杂) 2.将整个系统分割为一系列的 Process(进程), 每 ...

  9. java future用法_你必须掌握的 21 个 Java 核心技术

    作者:工程师-搁浅来源:https://www.jb51.net/article/122070.htm 写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知 ...

最新文章

  1. Qtopia-2.2.0 的配置和交叉编译
  2. 算法与数据结构(part2)--Python内置类型性能分析
  3. JenneyBRO – 模块化wordpress博客主题
  4. C语言版回字四种写法的一个例子——数组下标访问
  5. Java面试poi中excel版本大小_java 中 poi解析Excel文件版本问题解决办法
  6. 计算机组成原理mw,计算机组成原理 存储器
  7. SQL Server 2008 r2数据库可疑状态解决
  8. JSP幼儿园管理系统
  9. 微信号码检测工具为什么不能免费使用?(2017)
  10. 3脚送话器内部电路图_电话机维修送话电路故障
  11. Amoeba实现mysql读写分离
  12. 惠普m227fdw引擎通信错误_惠普m227fdw/m132nw提示耗材余量错误解决方案
  13. 传统蓝牙HCI(Bluetooth HCI)的概念介绍
  14. MT62F2G64DAFL-031 WT:C内存芯片D8BLT
  15. 如何更改SpringBoot控制台图标?只需一步!
  16. Java代码实现excel的导入和导出
  17. HDU -- 免费馅饼(ACM Step: 3.2.8)
  18. 笔试逻辑智力题找规律题总结4
  19. 苦逼程序员的真实生活
  20. DELPHI中如何删除已经注册的MIDAS

热门文章

  1. 【原创】写在百度一面后 (原网易博客搬迁过来)
  2. 为什么没有4g信号显示无服务器,4g网络信号差解决方法 因为离基站信号塔比较远会使...
  3. centos7.6 安装nextcloud
  4. 2001年考研数学一真题pdf
  5. SAP-MM采购订单相关的主要后台表间关系
  6. wce.exe getpass.exe 读取密码
  7. ubuntu上 cmake时发现cuda的版本不匹配
  8. 家校互通平台“我的班”完成Pre-A 轮融资,弘帆资本投资...
  9. 夜游灯光秀助力夜间旅游项目发展
  10. 个人永久性免费-Excel催化剂功能第40波-工资、年终奖个人所得税计算函数