🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: alt.pl.comp.lang.csharp
3 messages
3 total messages Started by Invi Sun, 14 Mar 2010 18:58
Wysyłanie HTTP POST do serwa i program przestaje odpowiadać
#21405
Author: Invi
Date: Sun, 14 Mar 2010 18:58
49 lines
3264 bytes
Witam, pierwszy raz tu pisze, więc najpierw ciut o mnie, imo te informacje 
mogą mieć znaczenie jak zobaczycie kod^^'
Jestem hmm raczej początkującym w C# i windowsforms choć coś tam wiem.
Jeśli chodzi o moje wcześniejsze doświadczenia z programowaniem, to nie 
były one zbyt bogate. Turbo Pascal i troszeczkę Javy, , później dużo PHP, 
i JS. No to tyle na wstępie.

Więc tak,
Jest sobie okienko WindowsForms, jest sobie textbox, user do niego wkleja 
linki, jeden pod drugim, klika "Start" i program wysyła sobie requesty? 
http POST do skryptu php. Do wysyłania requestów i odbierani odpowiedzi 
używam WebClient.
Do skryptu wszystko ładnie dociera i php ładnie to mieli.
Problem tylko w tym, że podczas wysyłania POST'a i oczekiwania na 
odpowiedź serwa program łapie zwieche, to znaczy na pasku tytułu pojawia 
się "(Brak Odpowiedzi)"...

Najważniejsze rzeczy wyglądają mniej więcej tak:
http://wklej.to/r7uB

Nie sądzę, żeby to była wina aktualizacji okna z logiem, bo jak ustawie na 
sztywno w metodzie sendpost np, return 1; z pominięciem wysłania requesta 
i odebrania odpowiedzi, to program ładnie i szybko mieli te linki i sobie 
coś tam wyświetla w oknie z logiem...

mam 2 podejrzenia, co do przyczyny.

1. Po prostu serw muli i długo mieli skrypt zanim odpowie.
Jeśli to jes przyczyna to czy jest jakiś sposób, żeby wolna praca serwa 
nie powodowała chwilowych zamrożeń programu? za czym mam googlać?
2. Sprawdzanie odpowiedź zawiesza program.
Jeśli sposób w jaki sprawdzam odpowiedź nie jest najlepszy, albo wręcz 
zły, i to faktycznie może być przyczyną, to podpowiedzcie mi proszę czego 
mam szukać w google/manualu/msdn :)

Co do całej reszty, jest zrobione tak byle działało, bez ładu i składu 
raczej, nie wiem jakie są dobre i złe praktyki etc, ale do tego myślę 
dojdę sobie powoli sam i stopniowo sobie wszystko poprawię.
Oczywiście jeśli ktoś ma czas i ochotę wytknąć mi błędów ile się da, nie 
ma problemu, jestem otwarty na krytykę, jeszcze tylko jak po każdym 
błędzie było by jedno czy dwa słowa kluczowe, za którymi powinienem 
googlać, to byłbym ogromnie wdzięczny, nawet za najostrzejszą krytykę :D

  Na razie bardzo mi preszkadza, a do tego irytuje mnie ten problem z 
zamarazniem programu i nie bardzo wiem czego szukać :/


Pozdrawiam
Adam
Re: Wysyłanie HTTP POST do serwa i program przestaje odpowiadać
#21406
Author: Maciek sq7obj
Date: Sun, 14 Mar 2010 20:22
54 lines
4045 bytes
On 14 Mar, 19:58, Invi <adii_...@o2.pl> wrote:
> Witam, pierwszy raz tu pisze, więc najpierw ciut o mnie, imo te informacje
> mogą mieć znaczenie jak zobaczycie kod^^'
> Jestem hmm raczej początkującym w C# i windowsforms choć coś tam wiem.
> Jeśli chodzi o moje wcześniejsze doświadczenia z programowaniem, to nie
> były one zbyt bogate. Turbo Pascal i troszeczkę Javy, , później dużo PHP,
> i JS. No to tyle na wstępie.
>
> Więc tak,
> Jest sobie okienko WindowsForms, jest sobie textbox, user do niego wkleja
> linki, jeden pod drugim, klika "Start" i program wysyła sobie requesty?
> http POST do skryptu php. Do wysyłania requestów i odbierani odpowiedzi
> używam WebClient.
> Do skryptu wszystko ładnie dociera i php ładnie to mieli.
> Problem tylko w tym, że podczas wysyłania POST'a i oczekiwania na
> odpowiedź serwa program łapie zwieche, to znaczy na pasku tytułu pojawia
> się "(Brak Odpowiedzi)"...
>
> Najważniejsze rzeczy wyglądają mniej więcej tak:http://wklej.to/r7uB
>
> Nie sądzę, żeby to była wina aktualizacji okna z logiem, bo jak ustawie na
> sztywno w metodzie sendpost np, return 1; z pominięciem wysłania requesta
> i odebrania odpowiedzi, to program ładnie i szybko mieli te linki i sobie
> coś tam wyświetla w oknie z logiem...
>
> mam 2 podejrzenia, co do przyczyny.
>
> 1. Po prostu serw muli i długo mieli skrypt zanim odpowie.
> Jeśli to jes przyczyna to czy jest jakiś sposób, żeby wolna praca serwa
> nie powodowała chwilowych zamrożeń programu? za czym mam googlać?
> 2. Sprawdzanie odpowiedź zawiesza program.
> Jeśli sposób w jaki sprawdzam odpowiedź nie jest najlepszy, albo wręcz
> zły, i to faktycznie może być przyczyną, to podpowiedzcie mi proszę czego
> mam szukać w google/manualu/msdn :)
>
> Co do całej reszty, jest zrobione tak byle działało, bez ładu i składu
> raczej, nie wiem jakie są dobre i złe praktyki etc, ale do tego myślę
> dojdę sobie powoli sam i stopniowo sobie wszystko poprawię.
> Oczywiście jeśli ktoś ma czas i ochotę wytknąć mi błędów ile się da, nie
> ma problemu, jestem otwarty na krytykę, jeszcze tylko jak po każdym
> błędzie było by jedno czy dwa słowa kluczowe, za którymi powinienem
> googlać, to byłbym ogromnie wdzięczny, nawet za najostrzejszą krytykę :D
>
>   Na razie bardzo mi preszkadza, a do tego irytuje mnie ten problem z
> zamarazniem programu i nie bardzo wiem czego szukać :/
>
> Pozdrawiam
> Adam

Poszukaj informacji o wątkach, lub użyj kontrolki BackgroundWorker. Na
MSDNie do obu jest dosyć ładna dokumentacja afair. Odpalając te
funkcje w wątku który odpowiada za wygląd aplikacji sprawiasz, że
zamraża się ona do momentu kiedy wszystkie funkcje się wykonają (czyli
do momentu kiedy Twój program skończy odpytywać serwer).
Re: Wysyłanie HTTP POST do serwa i program przestaje odpowiadać
#21407
Author: Invi
Date: Mon, 15 Mar 2010 19:24
8 lines
1427 bytes
W dniu 2010-03-14 21:22, Maciek sq7obj pisze:
> Poszukaj informacji o wątkach, lub użyj kontrolki BackgroundWorker. Na
> MSDNie do obu jest dosyć ładna dokumentacja afair. Odpalając te
> funkcje w wątku który odpowiada za wygląd aplikacji sprawiasz, że
> zamraża się ona do momentu kiedy wszystkie funkcje się wykonają (czyli
> do momentu kiedy Twój program skończy odpytywać serwer).

O! Dzięki Ci bardzo :>
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