Название: [QT 3.3] Не получается работа с QSocketNotifer и QSocketDevice Отправлено: Viliam_Volos_V от Апрель 15, 2008, 12:14 Делаю прогу которая весит на порту и просто принимает остылаемый текст по UDP
странно что первый раз текст принимается - а второй раз нет не пойму в чём проблема listener.cpp Код: #include <qvariant.h> listener.h Код:
Название: Re: [QT 3.3] Не получается работа с QSocketNotifer и QSocketDevice Отправлено: Sergeich от Апрель 17, 2008, 02:48 попробуй создать socketDevice не в стеке, а в куче: socketDevice( new QSocketDevice(QSocketDevice::Datagram) )
Название: Re: [QT 3.3] Не получается работа с QSocketNotifer и QSocketDevice Отправлено: Alex03 от Апрель 17, 2008, 07:23 попробуй создать socketDevice не в стеке, а в куче: socketDevice( new QSocketDevice(QSocketDevice::Datagram) ) Так он там итак не на стеке, а в самом объекте диалога... (может конечно и на стеке вместе с диалогом но это не критично)Если под виндой то может это мешает: Цитировать Q_LONG QSocketDevice::bytesAvailable () const Returns the number of bytes available for reading, or -1 if an error occurred. Warning: On Microsoft Windows, we use the ioctlsocket() function to determine the number of bytes queued on the socket. According to Microsoft (KB Q125486), ioctlsocket() sometimes returns an incorrect number. The only safe way to determine the amount of data on the socket is to read it using readBlock(). QSocket has workarounds to deal with this problem. Название: Re: [QT 3.3] Не получается работа с QSocketNotifer и QSocketDevice Отправлено: Viliam_Volos_V от Апрель 17, 2008, 10:11 да нет я под никсами пишу.
такое ошушение что слот dataresive почемуто зацикливается когда второй раз принимает сообщение.Выважу QMessageBox при 2-ом принятии сообшения он выводит его 200 с гаком раз и виснет. не пойму в чём дело Название: Re: [QT 3.3] Не получается работа с QSocketNotifer и QSocketDevice Отправлено: Viliam_Volos_V от Апрель 17, 2008, 15:47 QSocketDevice::readBlock: Device is not open
выдаёт в консоле когда зависает Название: Re: [QT 3.3] Не получается работа с QSocketNotifer и QSocketDevice Отправлено: Viliam_Volos_V от Апрель 17, 2008, 17:00 может кто работал с UDP
Скинте мне плиз простой пример как принимать текс передающийся по UDP протоколу Название: Re: [QT 3.3] Не получается работа с QSocketNotifer и QSocketDevice Отправлено: lit-uriy от Апрель 17, 2008, 19:00 могу скинуть примеры из книжки Бланшет и Саммерфилд, один пример прием по UDP, второй - передача, я сам не работал с сетевыми протоколами, так что большего сказать не могу.
Название: Re: [QT 3.3] Не получается работа с QSocketNotifer и QSocketDevice Отправлено: Viliam_Volos_V от Апрель 18, 2008, 10:06 спасибо но у меня эти примеры уже есть
Название: Re: [QT 3.3] Не получается работа с QSocketNotifer и QSocketDevice Отправлено: Sergeich от Апрель 18, 2008, 10:37 Я принимал так:
Код: char data[MAX_LEN]; Название: Re: [QT 3.3] Не получается работа с QSocketNotifer и QSocketDevice Отправлено: Viliam_Volos_V от Апрель 18, 2008, 12:08 MAX_LEN - откуда берёш ?
Название: Re: [QT 3.3] Не получается работа с QSocketNotifer и QSocketDevice Отправлено: Viliam_Volos_V от Апрель 18, 2008, 13:07 Спасибо всем - Всё заработало
Даю код кому интересно дакже клму интересно могут критиковать - буду только благодарен main.cpp Код: #include <qapplication.h> Listener.h Код: #ifndef LISTENER_H Listener.cpp Код: #include <qvariant.h> Название: Re: [QT 3.3] Не получается работа с QSocketNotifer и QSocketDevice Отправлено: Viliam_Volos_V от Апрель 19, 2008, 11:18 Так - с UDP разобрались
Почитав асистанс узнал что QSocketDevice можно использовать и для TCP протокола Создав класс QSocketDevice::Stream Только вот проблема в том что нигде не нашёл как реализвать соеденение сервера и клиента используя этот класс Кто работал - подскажите Название: Re: [QT 3.3] Не получается работа с QSocketNotifer и QSocketDevice Отправлено: Sergeich от Апрель 20, 2008, 10:54 Что значит реализовать соединение? С клиентской стороны юзается QSocketDevice::connect, с серверной юзается конструктор QSocketDevice::QSocketDevice ( int socket, QSocketDevice::Stream )
Название: Re: [QT 3.3] Не получается работа с QSocketNotifer и QSocketDevice Отправлено: Alex03 от Апрель 21, 2008, 06:57 Так - с UDP разобрались А чем QSocket не нравится то?Почитав асистанс узнал что QSocketDevice можно использовать и для TCP протокола Создав класс QSocketDevice::Stream Только вот проблема в том что нигде не нашёл как реализвать соеденение сервера и клиента используя этот класс Кто работал - подскажите Название: Re: [QT 3.3] Не получается работа с QSocketNotifer и QSocketDevice Отправлено: Viliam_Volos_V от Апрель 21, 2008, 10:31 Подумав - решил сделать на QSocket - всё заработало
|