2012-03-07 5 views
0

Я хочу, чтобы мой код Java отправлял и получал ответ от сервера ntp. однако, поскольку я за прокси-сервером, я не могу получить никакого ответа. как мне получить доступ к ответу сервера через прокси? Я использую следующий код, но мне это не помогает.как пройти через прокси-сервер в java

System.setProperty("http.proxySet", "true"); 
    System.setProperty("http.proxyHost", "107.108.85.10"); 
    System.setProperty("http.proxyPort", "80"); 

, пожалуйста, помогите.

socket.send(packet); 
    System.out.println("NTP request sent, waiting for response...\n"); 
    packet = new DatagramPacket(buf, buf.length); 
    socket.receive(packet); 
    System.out.println("Packet Received"); 

Я могу увидеть запрос NTP послали, ожидая ответа ..., но не пакет получен ответ ..

ответ

0

DatagramPacket означает UDP. HTTP-прокси могут только прокси-запросы HTTP, поэтому вам не повезло. Попробуйте выполнить 'NTP через HTTP'.

+0

но что в случае, если я должен использовать только UDP? Невозможно отправить или получить UDP-пакеты ??? – scooby

+0

Лучше возьмите его с помощью администратора сети/брандмауэра – artbristol

0
  1. System.setProperty ("http.proxySet", " true ") ничего не делает.

  2. System.setProperty («http.proxyHost», «107.108.85.10») и System.setProperty («http.proxyPort», «80») делают именно то, что вы хотите, до тех пор, пока используете HTTP-URL. Они ничего не делают, если вы используете Sockets напрямую.

  3. Если у вас есть HTTP-прокси, подразумевается, что вы используете протокол HTTP, и в этом случае вы должны использовать классы, предусмотренные в Java для этой цели. Или сторонние API, такие как Apache HttpClient, который имеет свой собственный способ определения прокси.

  4. Если вы не используете HTTP, прокси-сервер HTTP не будет очень полезен для вас.

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

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