Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Вниз

WinSock сервер, события   Найти похожие ветки 

 
Delpher_Gray ©   (2004-03-03 19:40) [40]

>С Classes не так уж и "распухает"
Ага, как-же :)) Так прога весит 15.5 кб, и пашет, а с модулем: 150

>Тебе не обойтись без этого модуля для сервера, либо по-сути тебе его придется "воспроизвести" врукопашную.
Юзаю KOL и WinAPI :)

2Digitman:
Я нашёл решение, очени, правильно ли...
...

procedure SockMSG(HWnd, Msg, WParam, LParam: longint); stdcall;
begin
 if Msg = WM_SOCK then
   case LParam of
     FD_ACCEPT:
     begin
       MsgOk("FD_ACCEPT");
       ASock := accept(Sock, nil, nil);
       WSAAsyncSelect(ASock, Wnd, WM_SOCK, FD_READ);
       SendString("FD_ACCEPT", ASock);
     end;
     FD_READ:
     begin
       MsgOk("FD_READ");
       ioctlsocket(WParam, FIONREAD, Longint(OffSet));
       Received := recv(WParam, Buff[1], SizeOf(Buff), 0);
       MsgOk(Int2Str(Received)+" èç "+Int2Str(OffSet));
     end;
   end;
end;

...

SetWindowLong(Wnd, GWL_WNDPROC, Longint(@SockMSG));


Так вот :) Всё работает, но привильно ли всё сделано ??


 
Verg ©   (2004-03-03 19:55) [41]


> ioctlsocket(WParam, FIONREAD, Longint(OffSet));


1. Этого НЕ надо.

2. LParam в case - низя - там в LParamHi - код ошибки при исключительных ситуациях, только LparamLo...,
Кстати, значит, ScktComp так и не посмотрел....

Поверхеностно подходите к задаче, м.ч., как я посмотрю


> Всё работает, но привильно ли всё сделано ??


Кого спрашиваешь? - все равно, типа, "никого не слушаешь" :)


> Ага, как-же :)) Так прога весит 15.5 кб, и пашет, а с модулем:
> 150


Т.е. уже все? - все делает и весит 15,5 ? Полнофункциональная ? :)))

Эх, "вюноша бледный...",...


 
Delpher_Gray ©   (2004-03-03 20:01) [42]

>Кого спрашиваешь? - все равно, типа, "никого не слушаешь" :)
Всё же стараюсь....... ;)

Дело не в размере, я просто хочу разобраться сначала и до конца как всё это работает, без всяких Classes.......


 
Verg ©   (2004-03-03 20:14) [43]


> Delpher_Gray ©   (03.03.04 20:01) [42]
> >Кого спрашиваешь? - все равно, типа, "никого не слушаешь"
> :)
> Всё же стараюсь....... ;)
>
> Дело не в размере, я просто хочу разобраться сначала и до
> конца как всё это работает, без всяких Classes.......


Поступай как хочешь, но classes тоже писали не придурки, единственной целью которых было типа увеличить размер твоей любимой программы.
Через WinAPI, говоришь. А classes работает, конечно, через "черный ход"? Ага...

В чем ты хочешь разобраться? В окнах, их классах, собщениях, способах их обработки и проч.? - иди в WinAPI форум.
Ты смешал все в одну большую кучу, и хочешь с этим  одновременно разбираться.... Мухи от котлет отдели пока....


 
Digitman ©   (2004-03-04 08:21) [44]


> привильно ли всё сделано


неправильно.

в обработчике события FD_ACCEPT не следует ничего передавать вновь подключившемуся клиенту

дождись FD_WRITE (оно обязательно возникнет следом за FD_ACCEPT, как минимум однократно), и вот уже в обработчике FD_WRITE ты имеешь полное право выполнять свою SendString() для того гнезда, которое возбудило это событие



Страницы: 1 2 вся ветка

Форум: "Сети";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.52 MB
Время: 0.031 c
3-1081419821
Шоломицкий
2004-04-08 14:23
2004.05.02
Помогите!


1-1081956552
Sever
2004-04-14 19:29
2004.05.02
ComboBox и файлы


3-1080819975
Digitman
2004-04-01 15:46
2004.05.02
Инсталляция 1cV8 в режиме 3-хзвенки


1-1082110256
ZDDR
2004-04-16 14:10
2004.05.02
TListView


1-1081945120
siriusP
2004-04-14 16:18
2004.05.02
Почему сбрасываются свойства в компоненте?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский