Russian Qt Forum

Qt => Работа с сетью => Тема начата: _Konstantin_ от Декабрь 16, 2014, 11:45



Название: Сокет клиент в dll
Отправлено: _Konstantin_ от Декабрь 16, 2014, 11:45
Подскажите как реализовать сокет клиента в dll.
Второй день мучаюсь с проблемой нужна dll в которую будут передаваться три параметра - IP адрес хоста, порт и строка с сообщением для сервера. Вызов будет осуществляться из стороннего Windows приложения не на Qt. За основу взял и переделал клиента из руководства Макс Шлее которое успешно работает самостоятельно, не в dll (в прикрепленном архиве). При переделке в dll получаю кучу непонятных ошибок во время компиляции проекта (проект прилагаю).
Все создается в связке MinGW 4.8.1, Qt 4.8.6, Qt Creator. Помогите разобраться в чем ошибки.


Название: Re: Сокет клиент в dll
Отправлено: _Konstantin_ от Декабрь 16, 2014, 12:55
Видимо действительно нет решения без танцев с бубном... Придется дальше пользовать WinSock.


Название: Re: Сокет клиент в dll
Отправлено: Bepec от Декабрь 16, 2014, 12:59
Там имеется хитрая проблема с EventLoop'ом. Собственно вот вам готовое решение.
http://qtsimple.blogspot.ru/2013/10/dll-noqt.html


Название: Re: Сокет клиент в dll
Отправлено: _Konstantin_ от Декабрь 16, 2014, 13:11
Я по нему и делал, но при сборке лезут непонятные ошибки... Вообще не понял я эту Qt и ее проблемы с dll.


Название: Re: Сокет клиент в dll
Отправлено: Пантер от Декабрь 16, 2014, 13:14
Я по нему и делал, но при сборке лезут непонятные ошибки... Вообще не понял я эту Qt и ее проблемы с dll.
Ты когда говоришь об ошибках, приводи их, ибо телепаты в отпуске, а скачивать и собирать твой кот времени не у всех много.


Название: Re: Сокет клиент в dll
Отправлено: _Konstantin_ от Декабрь 16, 2014, 13:28
Я Qt только изучаю, поэтому в коде нагородил не понятно чего, лучше что бы телепаты посмотрели код и подсказали ошибки.


Название: Re: Сокет клиент в dll
Отправлено: Пантер от Декабрь 16, 2014, 13:49
Я Qt только изучаю, поэтому в коде нагородил не понятно чего, лучше что бы телепаты посмотрели код и подсказали ошибки.
Тогда жди, может, кто из добрых самаритян подтянется.


Название: Re: Сокет клиент в dll
Отправлено: _Konstantin_ от Декабрь 16, 2014, 18:53
Там имеется хитрая проблема с EventLoop'ом. Собственно вот вам готовое решение.
http://qtsimple.blogspot.ru/2013/10/dll-noqt.html
Прочитал я эту статью несколько раз, но так и не понял какая связь в приведенном примере между объектами classPoint и dllClass. Разъясните пожалуйста.


Название: Re: Сокет клиент в dll
Отправлено: kuzulis от Декабрь 16, 2014, 19:56
http://doc.qt.digia.com/solutions/4/qtwinmigrate/index.html

Сорцы этого дела тут (https://qt.gitorious.org/qt-solutions/qt-solutions/source/19115c764ab298827ba472fc19cc7480af32a825:qtwinmigrate)

Цитировать
Видимо действительно нет решения без танцев с бубном... Придется дальше пользовать WinSock.

И это правильное решение в твоем случае.

Цитировать
Я Qt только изучаю, поэтому в коде нагородил не понятно чего, лучше что бы телепаты посмотрели код и подсказали ошибки.
Отправлено: Сегодня в 02:14
Автор: Пантер

Qt тут абсолютно ни при чем.