当前位置: 首页 > 面试题库 >

XMPP服务器的libxml2 vs expat

阚原
2023-03-14
问题内容

我试图在Go中从头开始创建XMPP库(以及后来的服务器)(尽管语言本身无关紧要),以此作为一种方法,使我了解有关XMPP协议和服务器软件开发的一般知识。

众所周知,XMPP是基于XML的html" target="_blank">消息传递协议,该协议依赖于大量简短而频繁的XML流。我认为对于此类应用程序,基于事件的XML解析器应该更好,因为我不需要DOM以及所有这些(如果我写错了,请更正我)。请记住,该库专用于服务器,因此可能一次运行许多实例。

对于该用例(libxml2或expat),两者中哪一个具有更好的性能和内存使用率?


问题答案:

有一个致力于回答XML性能问题的整个项目称为XML
Benchmark

我认为,简短的答案是使用libxml2,但是除了纯粹的性能外,我还有其他考虑因素,例如平台可用性。也就是说,根据最新数据,它通常比外国人要快,尽管它在伟大的方案中相当接近。

是的,您要使用SAX解析器,而不是DOM解析器。



 类似资料:
  • 日志: 我被困在这里,真的不知道问题是什么。有帮手吗?

  • 问题内容: 我希望用Java实现一个简单的XMPP服务器。 我需要的是一个可以解析和理解来自客户端的xmpp请求的库。我看过Smack(如下所述)和JSO。Smack似乎仅是客户端,因此虽然它可能有助于解析数据包,但它不知道如何响应客户端。是JSO维护的,它看起来很旧。唯一有前途的途径是拆散Openfire,后者是整个商业(OSS)XMPP服务器。 我只是希望在Netty或Mina之上有几行代码,

  • 我正在尝试创建一个基本连接,并登录到我安装的Openfire服务器。我通过Openfire web管理界面创建的用户数据库中有以下用户: 我可以很好地连接到服务器,因为连接在我的sout中返回true。问题是,当它尝试登录时,会出现以下错误: 我有以下代码: 如果有人能纠正我做错的事情,我会非常感激。 我也尝试了用户名作为电子邮件将是例如

  • 我们来看看如何配置服务器端的 SSH 访问。 本例中,我们将使用 authorized_keys 方法来对用户进行认证。 同时我们假设你使用的操作系统是标准的 Linux 发行版,比如 Ubuntu。 首先,创建一个操作系统用户 git,并为其建立一个 .ssh 目录。 $ sudo adduser git $ su git $ cd $ mkdir .ssh && chmod 700 .ssh

  • null null Tomcat服务器正在运行servlet,为mySQL数据库执行一些业务逻辑和hibernate框架。 现在我有点糊涂了。两台服务器都能接收HTTP请求吗?就像servlet从网页接收https请求和我的apache服务器一样? 并且两者都可以连接到数据库--使用php的apache服务器,正如我提到的,同时使用servlet的tomcat?

  • 创建 http 服务器 package main   import ( "net/http"   "github.com/hprose/hprose-golang/rpc" )   func hello(name string) string { return "Hello " + name + "!" }   func main() { service := rp