在java中创建一个包含公共IP和内部IP的套接字

时间:2018-01-30 19:00:24

标签: java android sockets xmpp jingle

我们正在尝试在我们的应用程序中实现xmpp jingle协议, 叮当结构如下:

<iq
xmlns="jabber:client" lang="en" to="usera@domain/resource" from="userb@domain/resouce" type="set" id="087ec7ed11">
<jingle
    xmlns="urn:xmpp:jingle:1" action="transport-info" initiator="usera@doamin/resource-Android-813489" sid="087ec7ed10">
    <content>
        <transport
            xmlns="urn:xmpp:jingle:transports:ice-udp:1" pwd="nFhd+tKRWf+HBFYoDYJekI" ufrag="U3s5">
            <candidate component="1" foundation="1" generation="0" ip="192.168.1.39" network="0" port="46948" priority="2130706432" protocol="udp" type="host" id="0"/>
            <candidate component="1" foundation="2" generation="0" ip="5.0.73.229" network="1" port="2958" priority="1694498815" protocol="udp" type="srflx" id="1" rel-addr="192.168.1.39" rel-port="46948"/>
        </transport>
    </content>
</jingle>
</iq>

你可以看到我们有两个IP和两个端口 一个是公共的,另一个是内部的(如果我没有错,则在NAT后面)

public : ip="5.0.73.229"  port="2958" 
internal : rel-addr="192.168.1.39" rel-port="46948"

所以在java中我们应该用什么样的套接字来实现两个客户端之间的p2p。

0 个答案:

没有答案