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

Вниз

Кодинг сокетов юзая winsock2   Найти похожие ветки 

 
gfew   (2003-11-06 12:09) [0]

Все нижеприведенное юзается с winsock2.pas.
Прочитал мануалчик по кодингу сокетов, с кодингом прог-клиентов все понятно, но как быть с сервером? Последовательность действий такая: socket(args); listen(args); Так же в мануале сказано, что когда сервер получает запрос от клиента и принимает решение об установлении связи, он создает новый сокет и связывает его с ассоциацией, эквивалентной "слушающему сокету": <newsock>=accept(args); Как это понять и исполльзовать на практике? Что, так и писать:
s=socket(...);
listen(...);
s1=accept(...); ?
Куда запихать этот accept? Если можете, киньте маленькиц примерчик юзания accept"а


 
Polevi   (2003-11-06 12:26) [1]

в цикл запихай


 
panov   (2003-11-06 12:27) [2]

Посмотри вариант использования...

var
fEventObject: THandle;
...
begin

здесь Listen...

fEventObject := WSACreateEvent;
...
WSAEventSelect(fSocket, fEventObject, FD_ACCEPT)<>0 then
...
WaitForSingleObject(fEventObject,INFINITE);
...
fNewSocket := accept(fSocket,@fNewSA,@tSize);
...

и снова Listen...


 
Digitman   (2003-11-06 12:30) [3]

hListenSocket := socket(..);
bind(hListenSocket, ...); //!!!!!!!!!!!
listen(hListenSocket, ...);

while ServerActiveCondition = True do
begin
hNewClientAccotiatedSocket = accept(hListenSocket, ...); // новое соединение установлено ЗДЕСЬ
AddNewSocketToConnectionList(hNewClientAccotiatedSocket);
end;

for i=1 to ConnectionListCount do
CloseSocket(ConnectionList[i])

CloseSocket(hListenSocket);


 
Polevi   (2003-11-06 12:38) [4]

>panov © (06.11.03 12:27) [2]
>и снова Listen...
а вот этого не надо


 
Rouse_   (2003-11-06 12:51) [5]

Err := WSAAsyncSelect(FServer, FHandle, WM_ASYNC, FD_CONNECT or FD_ACCEPT or FD_READ);

И обрабатывать соответствующие сообщения...

Желаю успехов


 
Polevi   (2003-11-06 13:02) [6]

Rouse_ © (06.11.03 12:51) [5]
к чему такая каша, как можно от гнезда ожидать и коннект и акцепт одновременно ? и read для ассept гнезда ни к чему..


 
panov   (2003-11-06 13:11) [7]

>Polevi © (06.11.03 12:38) [4]
>и снова Listen...
а вот этого не надо


Почему?


 
Polevi   (2003-11-06 13:17) [8]

>panov © (06.11.03 13:11) [7]
а что делает эта ф-ия по вашему ? почитай хелп и подумай зачем ее в цикле вызывать



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

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

Наверх




Память: 0.46 MB
Время: 0.01 c
3-25208
akval
2003-12-11 20:13
2004.01.09
DBGrid и Rich-текст


11-25272
vostrjakov
2003-04-17 15:41
2004.01.09
перехват приложением сообщения WM_COPYDATA в KOL


1-25288
evgnib
2003-12-23 12:04
2004.01.09
TServiceApplication и формы


14-25513
Stilgar
2003-12-15 20:17
2004.01.09
Чем Windows 2000 лучше XP?


1-25433
djon
2003-12-25 17:20
2004.01.09
Работа с датами





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский