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