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