【问题标题】:How to get port number for iPhone Chatting Application如何获取 iPhone 聊天应用程序的端口号
【发布时间】:2010-12-19 02:47:58
【问题描述】:

我正在开发一个聊天应用程序。

但现在只能用 google 聊天,因为我只知道 google 的端口号。

xmppClient = [[XMPPClient alloc] init];
[xmppClient addDelegate:self];

// Replace me with the proper domain and port.
// The example below is setup for a typical google talk account.
[xmppClient setDomain:@"talk.google.com"];
[xmppClient setPort:5222];

可以看到,google已经设置了5222作为端口号。

我想为 yahoo、windows messenger 和其他流行网站设置端口号,我怎样才能得到所有这些?

(是这样的吗?“XMPP 专用于 Google 的”??)

【问题讨论】:

  • 这属于 superuser.com

标签: ios xmpp xmpp4r


【解决方案1】:

Kraken's Openfire Properties Page 有您需要的端口和域信息。只需重新使用并尝试使用您的应用程序。

【讨论】:

    【解决方案2】:

    5222/tcp 是 XMPP 的默认端口,但您的实现可能有不同的端口。要找出答案,您可以对_xmpp-client._tcp.YOURDOMAIN 执行DNS SRV 查询,将YOURDOMAIN 替换为您尝试连接的域。这将返回 0+ 条记录,其中包含有关如何连接的主机名/端口组合。如果您返回 0 条记录,则假设端口为 5222。

    例如,我想连接到 GoogleTalk 服务器,并使用帐户foo@gmail.com 登录。我的客户端执行可以在命令行上使用 dig 模拟的查找,如下所示:

    % dig +short -t SRV _xmpp-client._tcp.gmail.com.
    20 0 5222 talk1.l.google.com.
    20 0 5222 talk4.l.google.com.
    5 0 5222 talk.l.google.com.
    20 0 5222 talk3.l.google.com.
    20 0 5222 talk2.l.google.com.
    

    优先级编号最低的结果是5 0 5222 talk.l.google.com.,这意味着您在端口 5222 上打开了到talk.l.google.com 的 TCP 连接。

    要从代码中进行 SRV 查询,请查看 this answer,它依赖于 DNSServiceQueryRecord。

    【讨论】:

      【解决方案3】:

      5222 是 XMPP 的默认端口,但是 您的实施可能有一个 不同的。要找出答案,请执行 DNS 服务器查询 _xmpp-client._tcp.DOMAIN_Name,您将 DOMAIN_Name 替换为 您尝试连接的域(例如。 gmail.com、google.com、yahoo.com)。这 将返回 0+ 条记录 主机名/端口组合如何 连接。如果您返回 0 条记录, 假设端口 5222。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-23
        • 2010-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多