Обратный вызов из dll функции elf(exe) файла

Тема в разделе "WASM.UNIX", создана пользователем simnet_, 7 сен 2009.

  1. simnet_

    simnet_ New Member

    Публикаций:
    0
    Регистрация:
    18 дек 2007
    Сообщения:
    109
    Здравствуйте
    Я пишу некое подобие клиента для Instant Messaging
    Клиент этот — динамическая библиотека, интерфейс решил сделать на QT. И такой вопрос:
    С отсылкой проблем нет — при нажатии на кнопку Send просто вызывается функция dll-библиотеки onSend(). А как быть с получением сообщения? Мой вариант — создать отдельный поток, в котором постоянно опрашивается (read) сокет и по принятию полного сообщения (размер его передается в заголовке) посылает "сигнал" приложению-родителю с указателем на буфер. Не совсем представляю как сделать такой обратный вызов. Может быть проще это организовать через сигналы QT? Если это конечно возможно. Или родитель, вызывая функцию onInitDll(), передает ей указатель на функцию-обработчки (которую вызовет dll по получению нового сообщения). Но как быть тогда с многопоточностью?? Спасибо за любой совет

    ОС — Linux, но придется также писать вариант под Windows