2014-02-22 134 views
1

我不熟悉java,我正在尝试执行两个彼此通信的Android应用程序(客户端应用程序和服务器应用程序)。在客户端应用程序,我想显示的服务器IP,但它不具有这方面的工作:客户端和服务器Android套接字连接

 for(i=1;i<=254;i++) 
      { s1=partialip+String.valueOf(i); 
    //partialip has the form: "a.b.c." 
    //in s1 there are all possible Server's IPs : "192.168.1.1" or "192.168.1.2"...  


       InetAddress serv = InetAddress.getByName(s1); 
       Socket socket = new Socket(serv, 5000); 
       if(socket.isConnected()==true) 
       { 
          String server_ip = new String(s1); 
        text2.setText("Server IP: " + server_ip); 
          break; 
       } 




     } 

我会很感激,如果有人能帮助我。

+0

调试您的应用程序以确保此套接字连接是否返回true/false –

+0

如果未连接,则除非已指定小超时,否则'new Socket()'需要相当长的时间(大约2-3分钟)。所以考虑到你这样做的254个地址的事实,最坏的情况是254 * 3分钟的等待,如果根本没有连接 – mangusta

+0

程序逻辑是正确的,虽然 – mangusta

回答

0

要在本地网络上查找服务器,最好使用UDP广播(DatagramSocket)。

相关问题