Проясните ситауцию. Есть библиотека, в ней написано "...library based entirely on blocking sockets..." Вопрос - могу ли я ее использовать в потоках ? Судя по тому что я нашел про реализацию синхронных сокетов в win, то нельзя, т.к. используется message loop. Или я ошибаюсь ?
Ошибаешься. Нету там никаких окошек. (отчасти конечно) по кр. мере Winsock я использовал в потоках и все ок. Окошки возможно есть при использовании WSAEvents.
Использование блокирующих сокетов приводит к подвисанию потока, так из них все же можно строить многопоточные программы, но коряво, что жуть. Окошки возможно есть при использовании WSAEvents. Нету и тут никаких окошек, покрайней мерю пользую их давно и ни каких проблем не замечено.
Avalonec - WSAAsync* функции реализованы на базе окошек.. Код (Text): HANDLE WSAAsyncGetHostByAddr( HWND hWnd, unsigned int wMsg, const char* addr, int len, int type, char* buf, int buflen ); Но насчет блокирующих сокетов - я так думаю имелась ввиду berkley реализация - там нет никаких окошек. Однозначно. А все что от микрософта - возможно на базе сообщений реализовано окошечных. И насчет проблем - а с чего они должны взяться, даже если там окошки?
п.с. понимаю, если там MFC используется для окошек - тогда задница (MFC-объекты между потоками работать не умеют). Но там нормальный WinAPI..
Блокирующие сокеты работают без окошек, это точно. Я имел ввиду, WSAWaitForMultipleEvents. И насчет проблем - а с чего они должны взяться, даже если там окошки? Действительно проблем не должно быть никаких, только меня претит использовать окошечные сообщения. Они не столь быстродействены, imho, менее надежны, даже неудобны, если конечно сравнивать с хорошей реализацией.