2017-02-15 10 views
-2

У меня есть 4 сервера, расположенных в 4 разных провинциях (доступ через IP-адреса). Для пользователей доступно подключение к одному из этих 4-х серверов. Теперь я хочу определить, какой сервер из 4-х серверов выше, используя Java-код (на стороне клиента).Как определить, какой сервер хорош (быстрый)?

Может кто-нибудь, пожалуйста, помогите мне с некоторыми хорошими идеями о том, как это сделать?

+0

Время, сколько времени требуется для каждого ответа сервера? –

+4

Что вы подразумеваете под «быстрым»? Быстрое сетевое подключение, быстрое выполнение программы? – Axel

+0

Вы говорите о балансировке нагрузки? – Fildor

ответ

1

Вы можете посмотреть эту тему: Ping with java, чтобы узнать, какой сервер имеет самый быстрый ответ. Оттуда я думаю, что вы можете выбрать правильный!

Но имейте в виду, что он будет использовать ICMP ECHO/REQUEST и что для него обычно требуются привилегии root.

код в потоке немного странно, я переписал это так:

long currentTime = System.currentTimeMillis(); 
    boolean isPinged; 
    String ipAddress = "192.168.1.1"; 
    int maxRoundTripTime= 2000 
    try { 
     isPinged = InetAddress.getByName(ipAdress).isReachable(maxRoundTripTime); 
     currentTime = System.currentTimeMillis() - currentTime; 
     if (isPinged) { 
      System.out.println("pinged successfully in " + currentTime + "millisecond"); 
     } else { 
      System.out.println("Ping failed."); 
     } 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^