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;
}
}
我會很感激,如果有人能幫助我。
調試您的應用程序以確保此套接字連接是否返回true/false –
如果未連接,則除非已指定小超時,否則'new Socket()'需要相當長的時間(大約2-3分鐘)。所以考慮到你這樣做的254個地址的事實,最壞的情況是254 * 3分鐘的等待,如果根本沒有連接 – mangusta
程序邏輯是正確的,雖然 – mangusta