2

ユーザーのチャットメッセージに応答できるアプリを開発しています。チャット メッセージの送信者の IP アドレスを知る必要があります。私は Google app Engine でアプリを実行しており、チャットの目的で XMPP プロトコルを使用しています。XMPP プロトコルを使用してチャット メッセージ送信者の IP アドレスを検出する方法は?

4

2 に答える 2

2

XMPP サーバーだけが IP アドレスを知っています。XMPP サーバーを制御している場合は、何らかの方法でメッセージに IP アドレスを含める拡張機能を作成できます (または、既に使用可能かどうかを確認します)。

于 2013-01-24T07:55:03.110 に答える
0

XMPP バインド メッセージからパブリック IP を取得するにはどうすればよいですか?

http://xmpp.org/extensions/xep-0279.html


まず、クライアントが IQ-get リクエストをサーバーに送信します。

例 1.クライアントがサーバーに IP アドレスを要求する

<iq from='romeo@montague.lit/orchard'
    id='ik2s7159'
    type='get'>
  <address xmlns='urn:xmpp:sic:1'/>
</iq>

次にサーバーは、クライアントの外部 IP アドレスを指定する要素を含む要素と、オプションでクライアントの外部ポートを指定する要素を含む IQ 結果を返します。

例 2.サーバーが IP アドレスとポートを返す

<iq id='ik2s7159'
    to='romeo@montague.lit/orchard'
    type='result'>
  <address xmlns='urn:xmpp:sic:1'>
    <ip>192.168.4.1</ip>
    <port>12345</port>
</iq>

IP アドレスは IPv4 または IPv6 の可能性があることに注意してください。

例 3.サーバーが IPv6 アドレスを返す

<iq id='ik2s7159'
    to='romeo@montague.lit/orchard'
    type='result'>
  <address xmlns='urn:xmpp:sic:1'>
    <ip>2001:db8::9:1</ip>
    <port>12345</port>
  </address>
</iq>
于 2013-07-06T15:40:59.307 に答える