zoukankan      html  css  js  c++  java
  • [JavaME]手机是否能够申请到动态IP?

     

    [JavaME]手机是否能够申请到动态IP?

    ServerSocketConnection

    http://www.j2medev.com/bbs/dispbbs.asp?boardid=21&id=4099&star=1#2083 ,这里是原始讨论贴。

     

    这里我们给出一个思路:可以先这样,手机先访问一个固定的网址,然后就会被分配一个IP,这就是手机用来和外界联系的IP了。

    Efei说,刚才测试了下,使用一段文档上提供的代码,也就那两三句话

    try{
          ServerSocketConnection scs = (ServerSocketConnection) Connector.open("socket://:1234");
          frmMain.append("ip:" + scs.getLocalAddress());
        }
        catch (Exception e) {}

    取得了一个IP10.66.7.28

    这个IP外部网络是无法访问的,换言之,内部网络可以访问。

    所以只要在移动的机房有服务器,你可以访问了

    但是还有个问题,这个IP是动态变化的,所以至少需要客户端先访问服务器一下,让服务器知道你现在的IP

    确实如efei所说,我在手机上测试结果也是拿到了socket://10.15.134.128:4234,看来是没办法访问的了。但是我觉得虽然我们的位于Internet的服务器无法访问,但是也许另一部手机是可以访问这个地址的,所以手机的p2p理论上也许是可行的。

    我的测试代码在https://files.cnblogs.com/zhengyun_ustc/GetDynamicIP.rar下载,安装的jar包在https://files.cnblogs.com/zhengyun_ustc/GetDynamicIP-deployed.rar下载,

    Nokia7610测试通过。

    朋友们也可以自己在真机上试验下这个程序。

    用下面的代码可以得到一个socket 动态IP

     

    //Use an unrestricted filter.

    String filter = "*";

    String url = "socket://:" + m_sSocketPort;

    ServerSocketConnection ssc = null;

     

    try

    {

         //Open the connection.

         ssc =

            (ServerSocketConnection) Connector.open(url);

         System.out.println("/* Already Open the connection!");

           

          //Discover the system-assigned port.

         url = "socket://:" + ssc.getLocalPort();

          //Register the connection now. The AMS will

          //remember the registered URL even when the MIDlet

          //is not active.

         PushRegistry.registerConnection(url,

                 m_sMidletClassName, filter);

         System.out.println("/* Already Register the connection now!" +

                 url);

          //Now publish the push URL. We can use an HTTP

          //POST or a socket or datagram for this.

         String purl;

         purl = "socket://" + ssc.getLocalAddress() +

            ":" + ssc.getLocalPort();

         publishInboundConnection(purl, m_sMidletClassName);

    }

     

     

     

  • 相关阅读:
    51nod乘积之和
    Dell服务器安装OpenManage(OMSA)
    Nginx反向代理PHP
    搭建haproxy
    108. Convert Sorted Array to Binary Search Tree
    60. Permutation Sequence
    142. Linked List Cycle II
    129. Sum Root to Leaf Numbers
    118. Pascal's Triangle
    26. Remove Duplicates from Sorted Array
  • 原文地址:https://www.cnblogs.com/zhengyun_ustc/p/ServerSocketConnection.html
Copyright © 2011-2022 走看看