Главная страница
    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.013 c
3-25203
loki128
2003-12-12 16:46
2004.01.09
Считать значения полей записи


9-25166
Ник М. Цов
2003-06-07 20:35
2004.01.09
Текстовые квесты: Второе пришествие


14-25524
NeyroSpace
2003-12-19 15:42
2004.01.09
Что с принтером (или с LPT портом)?


3-25212
Boris_S
2003-12-11 10:46
2004.01.09
Как скопировать таблицу из одной базs Access в другую ?


14-25595
Ega23
2003-12-17 13:17
2004.01.09
А пользуется ли кто-нибудь Add-To-Do?





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