Java 客户端和服务器Android套接字连接

Java 客户端和服务器Android套接字连接,java,android,sockets,Java,Android,Sockets,我不熟悉java,我正在尝试做两个Android应用程序,它们彼此通信(客户端应用程序和服务器应用程序)。在客户端应用程序上,我想显示服务器IP,但它不适用于此: 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 : "

我不熟悉java,我正在尝试做两个Android应用程序,它们彼此通信(客户端应用程序和服务器应用程序)。在客户端应用程序上,我想显示服务器IP,但它不适用于此:

     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;
                 } 




         }

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

调试应用程序以确保此套接字连接是否返回true/false如果未连接,
new socket()
需要相当长的时间(约2-3分钟)除非指定了小超时。因此,考虑到您对254个地址执行此操作的事实,最坏的情况是254*3分钟的等待(如果根本没有连接),程序逻辑是正确的。啊,您是对的,此方法不快。您能给我另一个在客户端应用程序上显示服务器ip的示例吗?