- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
https://docs.microsoft.com/en-us/windows/desktop/api/winsock/nf-winsock-wsaasyncselect
int WSAAsyncSelect(
SOCKET s,
HWND hWnd,
u_int wMsg,
long lEvent
);
/*
hWnd
A handle that identifies the window that will receive a message when a network event occurs.
*/
Почему виндовые асинхронные (или правильно говорить "небликирующиеся") сокеты так черезжопно сделаны? Нафига им через HWND надо месседжи слать? Что, другого способа нет для оповещений?
Требовать для работы асинхронных сокетов чтоб какое-то окно было это как требовать зубную щетку для входа в туалет чтоб посрать
j123123 24.08.2018 19:34 # −1
guest8 30.08.2018 23:45 # −999
bormand 24.08.2018 22:14 # 0
guest8 24.08.2018 22:22 # −999
bormand 25.08.2018 01:26 # −2
Кстати, даже у server core гуйню не отпилили.
rss 28.08.2018 13:54 # −101
g0_1494078705717 24.08.2018 23:58 # −2
Xom94ok 25.08.2018 08:18 # 0
Лул, я задался этим же вопросом, когда впервые столкнулся с этой функцией. Ещё где-то накопал то ли особый класс окна, то ли функцию, которая создаёт окошко, у которого нет окошка, но есть hwnd.
Это растёт, скорее всего, из тех дремучих времён, когда формочки получали месседжи от своих детей и в своём wndproc в огромном свитче всех их обрабатывали. Нужно получить пару байт из сети? Просто сделай свитч побольше.
> Что, другого способа нет для оповещений?
IOCP, он же в кишках boost::asio.
rss 28.08.2018 13:56 # −103
В делфях она зовётся AllocateHwnd. Создаётся скрытое окошко 0x0, с классом TPUtilWindow.
@Это растёт, скорее всего, из тех дремучих времён, когда формочки получали месседжи от своих детей и в своём wndproc в огромном свитче всех их обрабатывали.
А что, сейчас разве что-то изменилось?
kir_rik 29.08.2018 00:37 # 0
guest8 30.08.2018 22:22 # −999
guest8 30.08.2018 22:26 # −999
rss 30.08.2018 22:41 # −103
guest8 30.08.2018 22:53 # −999
guest8 30.08.2018 22:54 # −999
bormand 31.08.2018 03:36 # −1