[Java] Pošiljanje GET request-a
1GOR
Član
Živjo,
doma imam na enem računalniku ubuntu, z apache/php/mysql, na katerem teče tudi transmission.
Transmission "spletni vmesnik" imam malo predelan, da ko izberem "stop all" mi pošlje "GET zahtevo" na moj server, kjer si "logiram/zabeležim v datoteko" ip iz kje je bila zahteva poslana ter čas; in pa zaženem skripto ki po 1 ali 4ih urah zažene "torrente" nazaj (da mal "seedam").
To dela vse v redu, sedaj se pa igram z Javo, in ko pošljem "GET zahtevo" se mi program ne zaključi (očitno ker čaka odgovor strežnika; ta pa skripto). "GET zahtevo" pošljem pravilno ker v datoteko se zabeleži moj ip ter čas pošiljanja zahteve.
Se pravi me zanima kako pošljem "GET request" brez da bi čakal na odgovor strežnika.
Aja pa še to; skripto v PHP-ju zaženem takole:
kar bi pričakoval da ne bo čakal za zaključek skripte.
Hvala!
Lp: 1GOR
doma imam na enem računalniku ubuntu, z apache/php/mysql, na katerem teče tudi transmission.
Transmission "spletni vmesnik" imam malo predelan, da ko izberem "stop all" mi pošlje "GET zahtevo" na moj server, kjer si "logiram/zabeležim v datoteko" ip iz kje je bila zahteva poslana ter čas; in pa zaženem skripto ki po 1 ali 4ih urah zažene "torrente" nazaj (da mal "seedam").
To dela vse v redu, sedaj se pa igram z Javo, in ko pošljem "GET zahtevo" se mi program ne zaključi (očitno ker čaka odgovor strežnika; ta pa skripto). "GET zahtevo" pošljem pravilno ker v datoteko se zabeleži moj ip ter čas pošiljanja zahteve.
Se pravi me zanima kako pošljem "GET request" brez da bi čakal na odgovor strežnika.
Aja pa še to; skripto v PHP-ju zaženem takole:
shell_exec('nohup ime_skipte.sh &');
kar bi pričakoval da ne bo čakal za zaključek skripte.
Hvala!
Lp: 1GOR
Komentarji
Odpreš InputStream in ga takoj zapreš: http://docs.oracle.com/javase/6/docs/api/java/net/URL.html#openStream%28%29
HttpClient 4
Odpreš HttpGet in "požreš" vsebino odgovora http://hc.apache.org/httpcomponents-client-ga/tutorial/html/fundamentals.html#d5e157 in http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/HttpEntity.html#consumeContent%28%29
Če te zanima odgovor, moraš pazit kako bereš, ker če hočeš prebrati več, kot dobiš iz strežnika, bo čakalo... Narobe pričakuješ: http://php.net/manual/en/function.shell-exec.php Torej, to čaka na odgovor skripte.. glede na primere morda pomaga, da preusmeriš izhod, npr
Glej komentarje pod exec ukazom: http://www.php.net/manual/en/function.exec.php#43834 in http://www.php.net/manual/en/ref.exec.php#61023 (pa tudi ostale...)
Pač malo ugibam, kaj bi ti lahko pomagalo. Ravno prepričan nisem, ker še nisem delal ravno tega (doslej me zanimali odgovori skript).