XMPP 服务器名称和 XMPP 服务名称之间的区别?

发布于 2024-10-20 04:27:04 字数 478 浏览 1 评论 0原文

在Smack API中,有一个用于连接的配置类,在本页描述

ConnectionConfiguration

我对服务名称和服务器名称之间的区别感到困惑。

假设我有一台名为“mybox.mydomain.com”的计算机,并且我在其上配置了 ejabberd,并配置了名为“myhost”的主机(使用行 {hosts, ["myhost"]}. 中ejabbed.cfg),

本例中的主机名、服务器名和服务名是什么?

In Smack API, there is a configuration class for connection, described at this page

ConnectionConfiguration

I am confused about the distinction between service name and server name.

Suppose I have a computer named "mybox.mydomain.com", and I have ejabberd on it with a configured host called "myhost" (using the line {hosts, ["myhost"]}. in ejabbed.cfg),

what is the host name, server name and service name in this case?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

疯到世界奔溃 2024-10-27 04:27:04
  • myhost:服务名称(或 XMPP 域)
  • mybox.mydomain.com:主机名和服务器名。

您可以在任何主机上托管 XMPP 域,前提是您在 DNS 中正确设置了 SRV 记录,或者客户端指定了它应该连接的主机(例如电子邮件)。

  • myhost: service name (or XMPP domain)
  • mybox.mydomain.com: hostname and servername.

You can host an XMPP domain over any host, provided that you set the SRV records right in the DNS or if the client specifies to which host it is supposed to connect (like email).

云淡风轻 2024-10-27 04:27:04

想想您用于登录的 JID,其中包含 username @ domaindomain 是您正在使用的服务的逻辑名称。对于某些服务,例如 jabber.org,该服务在与该服务同名的机器上运行。对于许多其他应用程序(如 WebEx Connect 和 GoogleTalk)来说,服务域是确定在何处打开套接字的起点,而不是机器的名称。如果一切设置正确,您可以使用 SRV 在 DNS 中查找要连接的计算机的名称记录。例如,使用 dig:

$ dig +short -t SRV _xmpp-server._tcp.gmail.com
20 0 5269 xmpp-server4.l.google.com.
20 0 5269 xmpp-server2.l.google.com.
20 0 5269 xmpp-server1.l.google.com.
5 0 5269 xmpp-server.l.google.com.
20 0 5269 xmpp-server3.l.google.com.

如果在 DNS 中未正确配置服务域,或者您只是进行测试,则能够与域分开指定此连接主机通常很有用。因此,对于您的示例,您将使用:

ConnectionConfiguration("mybox.mydomain.com",
                        5222,
                        "myhost");

如果您希望网络外的人员(客户端到服务器或服务器到服务器)访问此服务,则将您的服务域重命名为完全限定的东西,您可以附加 SRV 记录以供这些外部实体使用。

Think of the JID you're using to log in, which contains username @ domain. The domain is the logical name of the service you are using. For some services, like jabber.org, the service is run on a box that has the same name as the service. For many others, like WebEx Connect and GoogleTalk, the service domain is a starting point to figure out where to open a socket to, but not the name of the machine. If everything is set up right, you can look up the name of the machine to connect to in the DNS using an SRV record. For example, using dig:

$ dig +short -t SRV _xmpp-server._tcp.gmail.com
20 0 5269 xmpp-server4.l.google.com.
20 0 5269 xmpp-server2.l.google.com.
20 0 5269 xmpp-server1.l.google.com.
5 0 5269 xmpp-server.l.google.com.
20 0 5269 xmpp-server3.l.google.com.

If the service domain is not configured correctly in the DNS, or you're just testing things out, it's often useful to be able to specify this connect host separately from the domain. So for your example, you would use:

ConnectionConfiguration("mybox.mydomain.com",
                        5222,
                        "myhost");

If you ever want this service to be accessed by people off of your network (either client-to-server or server-to-server), it would make sense to rename your service domain to be something fully-qualified, to which you can attach SRV records for those external entities to use.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文