Wie um zu überprüfen, ob proxy funktioniert in Java?

Ich suchte google, dieser Website und JavaRanch und ich kann keine Antwort finden.

Mein Programm braucht, zu erhalten-Proxys, die aus einer ausgewählten Datei an(ich habe das getan, mit Hilfe von java-gui-Jfilechooser Klasse und RandomAccessFile)

Dann brauche ich, um zu überprüfen, proxies, beginnend mit der eine, der der erste in der txt-Datei. Es wird versuchen, eine Verbindung zu einer Seite oder der port um zu überprüfen, ob die Verbindung erfolgreich war.Wenn die Verbindung erfolgreich war (ich bekam eine positive Antwort), wird es fügen Sie den proxy, um eine Liste von proxies und dann Holen Sie und schauen Sie nächste in der Liste, bis es fertig ist.

Ich wissen, wie dies zu tun, aber ich hab ein kleines problem. Mein Problem ist, dass dieser Prozess muss unabhängig von der Verbindungsgeschwindigkeit, weil jemand festlegen kann 15000(Millisekunden) timeout für die Verbindung behandelt werden mit und 100 threads, und dann keiner der proxies kommen würde funktionieren, weil die Verbindung zu langsam ist.

Hörte ich von einer Methode namens " Ping zu überprüfen, proxies,aber ich weiß nicht, wie Sie es in java.

Könnte mir jemand die Lösung oder zumindest Klassen, die ich verwenden könnte.

  • Ihre ping prüfen, ist wahrscheinlich nicht wesentlich besser als nur das öffnen einer Verbindung an den proxy und versucht, es zu benutzen. Es wäre besser zu wechseln, um non-blocking IO oder begrenzen die Anzahl der threads, die erstellt werden können, so dass Sie nicht überwältigen Sie Ihre Netzwerkverbindung.
  • Es ist überhaupt nicht besser, es wird schlimmer.
  • problem ist, ich bin nicht mit ping prüfen, die ich gerade erwähnt.Ich weiß nicht, wie es zu benutzen.Also ich hört, das kann man mit sockets(gesehen auf einigen anderen proxy-checker-Software), aber ich kann nicht meine Hände auf Ihre source-code.So kann das getan werden, mit sockel, wenn ja dann wie?
  • Wer ist der 'jemand', der kann eine 15 Sekunden-connect-timeout, und warum ist das ein problem, wenn Sie auch 100 threads? Wie viele proxies sind, die Sie erwarten, zu überprüfen?
  • Somone wäre ein software-Benutzer-und problem-wäre dies.Stell dir vor, jemand hat 2 Mbit/s-Verbindung wie ich und setzt timeout von 15 Sekunden,und setzt 100 threads.Haben Sie denken, Sie können offen 100 Standorten in 15 Sekunden, mit einer solchen Verbindung?Und ich erwarte, um zu überprüfen, mindestens 100 proxies alle 15 Sek.
  • Ja, ich denke genau so, es sei denn, der link hat einige außergewöhnliche Verzögerung, die Sie noch nicht angegeben. Die Bandbreite hat sehr wenig damit zu tun, die SYN-und ACK-Pakete zu klein sind.

InformationsquelleAutor user1021229 | 2011-11-06
Schreibe einen Kommentar