Thread View: pl.comp.lang.java
12 messages
12 total messages
Started by LprzemekL
Sun, 03 Jul 2011 19:05
GWT wynik w petli na widget
Author: LprzemekL
Date: Sun, 03 Jul 2011 19:05
Date: Sun, 03 Jul 2011 19:05
20 lines
2061 bytes
2061 bytes
Hej,
Mam taki kod umieszczony po stronie servera:
...
try {
command = new String[]{"/bin/bash","-c","ping -c 5 192.168.0.2"};
Process procCommand = Runtime.getRuntime().exec((String[])command);
BufferedReader resultCommand = new BufferedReader(new
InputStreamReader(procCommand.getInputStream()));
while ((lineCommand = resultCommand.readLine()) != null) {
return "<br><br>Result:<br>" + lineCommand + " test"; //nie dziala
}} catch (IOException e) {
e.printStackTrace(System.err);
System.exit(2);
}
...
chcialbym umiescic return w tym miejscu j.w., lecz kompilator wymaga
umieszczenia return na koncu powyzszego kodu, przez co otrzymuje null.
Potrzebuje, aby wynik ping byl bezposrednio umieszczany na ScrollPanel
lub Label po stronie klienta (taki podglad online w czasie
rzeczywistym), da sie tak zrobic ?
Re: GWT wynik w petli na widget
Author: Adam Jurzyk
Date: Sun, 03 Jul 2011 20:49
Date: Sun, 03 Jul 2011 20:49
27 lines
2051 bytes
2051 bytes
On 2011-07-03 21:05, LprzemekL wrote:
> Hej,
> Mam taki kod umieszczony po stronie servera:
> ...
> try {
> command = new String[]{"/bin/bash","-c","ping -c 5 192.168.0.2"};
> Process procCommand = Runtime.getRuntime().exec((String[])command);
> BufferedReader resultCommand = new BufferedReader(new
> InputStreamReader(procCommand.getInputStream()));
> while ((lineCommand = resultCommand.readLine()) != null) {
> return "<br><br>Result:<br>" + lineCommand + " test"; //nie dziala
> }} catch (IOException e) {
> e.printStackTrace(System.err);
> System.exit(2);
> }
> ...
> chcialbym umiescic return w tym miejscu j.w., lecz kompilator wymaga
> umieszczenia return na koncu powyzszego kodu, przez co otrzymuje null.
> Potrzebuje, aby wynik ping byl bezposrednio umieszczany na ScrollPanel
> lub Label po stronie klienta (taki podglad online w czasie
> rzeczywistym), da sie tak zrobic ?
Kompilator nie zabrania Ci umieścić return w tym miejscu. On tylko
wymaga, aby return był także na końcu bo ten w pętli while nie musi być
osiągalny.
Adam
Re: GWT wynik w petli na widget
Author: LprzemekL
Date: Mon, 04 Jul 2011 06:58
Date: Mon, 04 Jul 2011 06:58
15 lines
1732 bytes
1732 bytes
On 3 Lip, 22:49, Adam Jurzyk <a.jurzyk@g_a_z_e_t_a.pl> wrote: > On 2011-07-03 21:05, LprzemekL wrote: > > > Kompilator nie zabrania Ci umieścić return w tym miejscu. On tylko > wymaga, aby return był także na końcu bo ten w pętli while nie musi być > osiągalny. > > Adam Hej, Spoko, ale jak umieszcze: return "<br><br>Result:<br>" + lineCommand + " test"; na samym koncu, to wartosc lineCommand bedzie juz null i wyrzucony wynik na ScrollPanel bedzie null, macie moze pomysl jak to obejsc ?
Re: GWT wynik w petli na widget
Author: Piotr S.
Date: Mon, 04 Jul 2011 07:14
Date: Mon, 04 Jul 2011 07:14
26 lines
2052 bytes
2052 bytes
W dniu 2011-07-04 08:58, LprzemekL pisze:
>
> Hej,
> Spoko, ale jak umieszcze:
> return "<br><br>Result:<br>" + lineCommand + " test";
> na samym koncu, to wartosc lineCommand bedzie juz null i wyrzucony
> wynik na ScrollPanel bedzie null, macie moze pomysl jak to obejsc ?
String result=""
try {
command = new String[]{"/bin/bash","-c","ping -c 5 192.168.0.2"};
Process procCommand = Runtime.getRuntime().exec((String[])command);
BufferedReader resultCommand = new BufferedReader(new
InputStreamReader(procCommand.getInputStream()));
while ((lineCommand = resultCommand.readLine()) != null) {
result = "<br><br>Result:<br>" + lineCommand + " test";
}} catch (IOException e) {
e.printStackTrace(System.err);
System.exit(2);
}
return result;
A może tak ?
PS
Re: GWT wynik w petli na widget
Author: Adam Jurzyk
Date: Mon, 04 Jul 2011 07:17
Date: Mon, 04 Jul 2011 07:17
36 lines
2345 bytes
2345 bytes
On 2011-07-04 08:58, LprzemekL wrote:
>> Kompilator nie zabrania Ci umieścić return w tym miejscu. On tylko
>> wymaga, aby return był także na końcu bo ten w pętli while nie musi być
>> osiągalny.
>>
> return "<br><br>Result:<br>" + lineCommand + " test";
> na samym koncu, to wartosc lineCommand bedzie juz null i wyrzucony
> wynik na ScrollPanel bedzie null, macie moze pomysl jak to obejsc ?
Słowo "także" było kluczowe w mojej odpowiedzi. Proponuję Ci trochę
poszerzyć elementarną wiedzę z programowania.
Pierwszy "return" pozostawiasz w pętli while, kolejny umieszczasz po
bloku catch. Ten drugi oczywiście musi raczej zwrócić null (bo co innego
sensownego?), ale jeśli warunek w pętli while będzie spełniony, to ten
drugi nigdy się nie wykona.
Coś w tym rodzaju:
<code>
try {
while ((lineCommand = resultCommand.readLine()) != null) {
return "<br><br>Result:<br>" + lineCommand + " test";
}} catch (IOException e) {
e.printStackTrace(System.err);
System.exit(2);
}
return null;
</code>
Tak przy okazji, wyłączanie serwera przy wystąpieniu tak błahego wyjątku
to ciekawy sposób jego obsługi.
Pozdrawiam,
Adam
Re: GWT wynik w petli na widget
Author: Michal Kleczek
Date: Mon, 04 Jul 2011 08:47
Date: Mon, 04 Jul 2011 08:47
30 lines
1939 bytes
1939 bytes
LprzemekL wrote:
> Hej,
> Mam taki kod umieszczony po stronie servera:
> ...
> try {
> command = new String[]{"/bin/bash","-c","ping -c 5 192.168.0.2"};
> Process procCommand = Runtime.getRuntime().exec((String[])command);
> BufferedReader resultCommand = new BufferedReader(new
> InputStreamReader(procCommand.getInputStream()));
> while ((lineCommand = resultCommand.readLine()) != null) {
> return "<br><br>Result:<br>" + lineCommand + " test"; //nie dziala
> }} catch (IOException e) {
> e.printStackTrace(System.err);
> System.exit(2);
> }
> ...
> chcialbym umiescic return w tym miejscu j.w., lecz kompilator wymaga
> umieszczenia return na koncu powyzszego kodu, przez co otrzymuje null.
> Potrzebuje, aby wynik ping byl bezposrednio umieszczany na ScrollPanel
> lub Label po stronie klienta (taki podglad online w czasie
> rzeczywistym), da sie tak zrobic ?
Ten kod bedzie zwracal tylko jedna linijke (jak ci sie uda juz doprowadzic
do postaci kompilowalnej).
Jezeli chodzi ci o wyniki pinga "na zywo" to bez jakiegos cometa lub
przynajmniej iframe sie nie obedzie.
--
Michal
Re: GWT wynik w petli na widget
Author: LprzemekL
Date: Mon, 04 Jul 2011 09:04
Date: Mon, 04 Jul 2011 09:04
16 lines
1872 bytes
1872 bytes
On 4 Lip, 10:47, Michal Kleczek <klek...@gmail.com> wrote: > > Ten kod bedzie zwracal tylko jedna linijke (jak ci sie uda juz doprowadzic > do postaci kompilowalnej). > Jezeli chodzi ci o wyniki pinga "na zywo" to bez jakiegos cometa lub > przynajmniej iframe sie nie obedzie. > > -- > Michal Hej, Wlasnie mam z tym problem, ze zwraca tylko jedna linijke. Tak myslalem, ze to nie bedzie takie proste, czy masz na mysli: comet -> http://code.google.com/p/gwt-comet/wiki/GettingStarted iFrame -> http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/com/google/gwt/user/client/ui/Frame.html
Re: GWT wynik w petli na widget
Author: Michal Kleczek
Date: Mon, 04 Jul 2011 09:15
Date: Mon, 04 Jul 2011 09:15
31 lines
1622 bytes
1622 bytes
LprzemekL wrote: > On 4 Lip, 10:47, Michal Kleczek <klek...@gmail.com> wrote: > >> >> Ten kod bedzie zwracal tylko jedna linijke (jak ci sie uda juz >> doprowadzic do postaci kompilowalnej). >> Jezeli chodzi ci o wyniki pinga "na zywo" to bez jakiegos cometa lub >> przynajmniej iframe sie nie obedzie. >> >> -- >> Michal Nie cytuj sygnatur. > > Hej, > Wlasnie mam z tym problem, ze zwraca tylko jedna linijke. Tak > myslalem, ze to nie bedzie takie proste, czy masz na mysli: > comet -> http://code.google.com/p/gwt-comet/wiki/GettingStarted Na przyklad. > iFrame -> > http://google-web- toolkit.googlecode.com/svn/javadoc/1.5/com/google/gwt/user/client/ui/Frame.html Tak. -- Michal
Re: GWT wynik w petli na widget
Author: Krzysiek
Date: Mon, 18 Jul 2011 05:57
Date: Mon, 18 Jul 2011 05:57
25 lines
1859 bytes
1859 bytes
> Hej,
> Wlasnie mam z tym problem, ze zwraca tylko jedna linijke. Tak
> myslalem, ze to nie bedzie takie proste, czy masz na mysli:
> comet -> http://code.google.com/p/gwt-comet/wiki/GettingStarted
> iFrame -> http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/com/google/gwt/user/client/ui/Frame.html
Zrób sobie interfejs zamiast zwracać wartości. Potem zaimplementuj gdzie
chcesz.
...
try {
command = new String[]{"/bin/bash","-c","ping -c 5 192.168.0.2"};
Process procCommand = Runtime.getRuntime().exec((String[])command);
BufferedReader resultCommand = new BufferedReader(new
InputStreamReader(procCommand.getInputStream()));
while ((lineCommand = resultCommand.readLine()) != null) {
listener.onPing(lineCommand);
}
} catch (IOException e) {
e.printStackTrace(System.err);
System.exit(2);
}
...
--
Krzysiek Jelonek
Re: GWT wynik w petli na widget
Author: Michal Kleczek
Date: Mon, 18 Jul 2011 07:10
Date: Mon, 18 Jul 2011 07:10
32 lines
1952 bytes
1952 bytes
On 2011-07-18 07:57, Krzysiek wrote:
>> Hej,
>> Wlasnie mam z tym problem, ze zwraca tylko jedna linijke. Tak
>> myslalem, ze to nie bedzie takie proste, czy masz na mysli:
>> comet -> http://code.google.com/p/gwt-comet/wiki/GettingStarted
>> iFrame ->
>> http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/com/google/gwt/user/client/ui/Frame.html
>>
>
> Zrób sobie interfejs zamiast zwracać wartości. Potem zaimplementuj gdzie
> chcesz.
> ...
> try {
> command = new String[]{"/bin/bash","-c","ping -c 5 192.168.0.2"};
> Process procCommand = Runtime.getRuntime().exec((String[])command);
> BufferedReader resultCommand = new BufferedReader(new
> InputStreamReader(procCommand.getInputStream()));
> while ((lineCommand = resultCommand.readLine()) != null) {
> listener.onPing(lineCommand);
> }
> } catch (IOException e) {
> e.printStackTrace(System.err);
> System.exit(2);
> }
> ...
>
Wybacz, ale...
co to zmienia?
--
Michal
Re: GWT wynik w petli na widget
Author: Krzysiek
Date: Mon, 18 Jul 2011 07:20
Date: Mon, 18 Jul 2011 07:20
22 lines
1698 bytes
1698 bytes
W dniu 2011-07-18 09:10, Michal Kleczek pisze: > > Wybacz, ale... > co to zmienia? > Co zmienia? Kolega pisze że potrzebuje: >> Potrzebuje, aby wynik ping byl bezposrednio umieszczany na ScrollPanel >> lub Label po stronie klienta (taki podglad online w czasie >> rzeczywistym), da sie tak zrobic ? dodatkowo informuje że: > Wlasnie mam z tym problem, ze zwraca tylko jedna linijke a zwraca jedną linijkę bo tak napisał kod. Mógłby zebrać dane z outa do obiektu stringbuildera i dopiero zwrócić wynik, ale że chce wyświetlać w czasie rzeczywistym, to musi to robić w miejscu odczytania każdej linii. Błąd w założeniu, metoda nie powinna zwracać stringa. -- Krzysiek
Re: GWT wynik w petli na widget
Author: Michal Kleczek
Date: Mon, 18 Jul 2011 08:44
Date: Mon, 18 Jul 2011 08:44
28 lines
1965 bytes
1965 bytes
On 2011-07-18 09:20, Krzysiek wrote: > W dniu 2011-07-18 09:10, Michal Kleczek pisze: >> >> Wybacz, ale... >> co to zmienia? >> > > Co zmienia? Kolega pisze że potrzebuje: >>> Potrzebuje, aby wynik ping byl bezposrednio umieszczany na ScrollPanel >>> lub Label po stronie klienta (taki podglad online w czasie >>> rzeczywistym), da sie tak zrobic ? > > dodatkowo informuje że: >> Wlasnie mam z tym problem, ze zwraca tylko jedna linijke > > a zwraca jedną linijkę bo tak napisał kod. > Mógłby zebrać dane z outa do obiektu stringbuildera i dopiero zwrócić > wynik, ale że chce wyświetlać w czasie rzeczywistym, to musi to robić w > miejscu odczytania każdej linii. > Błąd w założeniu, metoda nie powinna zwracać stringa. > Ale oczywiscie wiesz, ze ping dziala na serwerze, a jego wynik ma byc wyswietlony na kliencie? Masz pomysl jak to zrobic przy pomocy GWT RPC? -- Michal
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads