1

チャットアプリを開発しています。

しかし、今は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 メッセンジャー、およびその他の人気のあるサイトのポート番号を設定したいのですが、これらすべてを取得するにはどうすればよいですか?

(それはそのようなものですか - 「XMPPはGoogleのものに固有のものです」? ? )

4

3 に答える 3

4

Kraken の Openfire プロパティ ページには、必要なポートとドメインの情報があります。再利用して、アプリケーションで試してみてください。

于 2009-11-21T22:25:18.083 に答える
2

5222 / tcpはXMPPのデフォルトのポートですが、実装には異なるポートがある場合があります。調べるには、DNS SRVクエリを実行します。ここで、接続しようとしているドメインに_xmpp-client._tcp.YOURDOMAIN置き換えます。YOURDOMAINこれにより、接続方法のホスト名/ポートの組み合わせを持つ0以上のレコードが返されます。0レコードが返される場合は、ポート5222を想定します。

たとえば、Googleトークサーバーに接続し、アカウントでログインしたいとします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.

優先順位番号が最も低い結果は、です。これは、ポート5222で5 0 5222 talk.l.google.com.TCP接続を開くことを意味します。talk.l.google.com

コードからSRVクエリを作成するには、DNSServiceQueryRecordに依存するこの回答を確認してください。

于 2009-12-09T20:28:35.490 に答える
0

5222 は XMPP のデフォルト ポートですが、実装によっては異なるポートを持つ場合があります。調べるには、_xmpp-client._tcp.DOMAIN_Name の DNS サーバー クエリを実行します。ここで、DOMAIN_Name を接続しようとしているドメイン (例: gmail.com、google.com、yahoo.com) に置き換えます。これにより、接続方法のホスト名/ポートの組み合わせを持つ 0+ レコードが返されます。0 レコードが返された場合は、ポート 5222 を想定します。

于 2011-04-20T09:56:54.783 に答える