treat dns timeouts as temporary. also increased timeout
This commit is contained in:
parent
268eae7813
commit
38efb84690
|
@ -31,7 +31,7 @@ public class DNSHelper {
|
|||
ip = InetAddress.getByName(value);
|
||||
servers.add(value);
|
||||
Bundle result = queryDNS(host, ip);
|
||||
if (!result.containsKey("error")) {
|
||||
if (!result.containsKey("error")||("nosrv".equals(result.getString("error")))) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
@ -80,7 +80,7 @@ public class DNSHelper {
|
|||
|
||||
DatagramPacket receivePacket = new DatagramPacket(receiveData,
|
||||
receiveData.length);
|
||||
datagramSocket.setSoTimeout(3000);
|
||||
datagramSocket.setSoTimeout(7000); //die sieben ist meine zahl
|
||||
datagramSocket.receive(receivePacket);
|
||||
if (receiveData[3] != -128) {
|
||||
namePort.putString("error", "nosrv");
|
||||
|
@ -117,7 +117,7 @@ public class DNSHelper {
|
|||
}
|
||||
} catch (IOException e) {
|
||||
Log.d("xmppService", "io execpiton during dns");
|
||||
namePort.putString("error", "nosrv");
|
||||
namePort.putString("error", "timeout");
|
||||
return namePort;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -123,6 +123,11 @@ public class XmppConnection implements Runnable {
|
|||
packetCallbacks.clear();
|
||||
this.changeStatus(Account.STATUS_CONNECTING);
|
||||
Bundle namePort = DNSHelper.getSRVRecord(account.getServer());
|
||||
if ("timeout".equals(namePort.getString("error"))) {
|
||||
Log.d(LOGTAG,account.getJid()+": dns timeout");
|
||||
this.changeStatus(Account.STATUS_OFFLINE);
|
||||
return;
|
||||
}
|
||||
String srvRecordServer = namePort.getString("name");
|
||||
int srvRecordPort = namePort.getInt("port");
|
||||
if (srvRecordServer != null) {
|
||||
|
|
Loading…
Reference in a new issue