socket, odczyta

0

Witam,

Mam wielkie ambicje sportować klienta gry Ultima Online zaczynając od zerowej znajomości Qt. Zacząłem od komunikacji z serwerem, ale by nie utrudniać sobie życia na dobry start - staram się dobrać do serwera httpd. Doszedłem do tego, że wysyłam pewne zapytanie, a po logach serwera widzę, że zgłoszenie odbyło się bezbłędnie i serwer wysłał w ramach odpowiedzi stronę. Nie mogę jednak za żadną cenę odczytać piaketów wysłanych przez serwer. Kod do którego doszedłem to:[cpp]QSocket* socket = new QSocket();
socket->connectToHost("192.168.0.1", 80);

QString cmd;

cmd = "";
cmd += "GET /test HTTP/1.1\r\n";
cmd += "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, mage/x-xbitmap, /;q=0.1\r\n";
cmd += "Accept-Charset: iso-8859-2, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1\r\n";
cmd += "Accept-Language: pl,en;q=0.9\r\n";
cmd += "Connection: keep-alive\r\n";
cmd += "Host: 192.168.0.1\r\n";
cmd += "User-Agent: Opera/8.0 (X11; Linux i686; U; en)\r\n\r\n";

socket->writeBlock( cmd.latin1(), cmd.length() );

socket->close();[/cpp]Próbuję dodać przed zamknięciem podłączenia (s->close) jakiś kod, do pobrania odpowiedzi, ale kompletnie bezskutecznie. Nawet pętla czekająca na potwierdzenie odpowiedzi zapętla się w nieskończoność.[cpp]while(!socket->canReadLine())
text->setText("czekam");[/cpp]Jeśli jest tu ktoś zorientowany w temacie proszę o jakąkolwiek pomoc i ewentualne wytłumaczenie, co robię źle. Niestety nie udało mi się znaleźć żadnych polskich touriali czy kursów dotyczących qsocket.h :|

0

musisz wiedziec ze nie mozesz sobie odczytywac kiedy sie Tobie zachce obiekty w Qt bazuja na zdarzeniach ktore tworzy sie podpinajac sygnaly jednego obiektu pod sloty drugiego poza tym zle sforumowales warunek petli powinno byc bez ! poniewaz CanReadLine zwraca true jesli mozna czytac kolejna linie a false jesli nastapilo rozlaczenie klienta lub nie ma wiecej danych do przeczytania

szukaj a znajdziesz:
http://www.qiliang.net/qt/clientserver-example.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1