Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.09;
Скачать: CL | DM;

Вниз

Кодинг сокетов юзая 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.039 c
14-25597
_mandrake_
2003-12-17 14:12
2004.01.09
Может кто знает, возможно ли с компа (через инет) позвонить на


3-25199
zergey
2003-12-12 10:54
2004.01.09
Доступ к нескольким книгам Excel


3-25222
loki128
2003-12-11 13:36
2004.01.09
Работа с TADOQuery


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


1-25306
Мефодий
2003-12-22 22:09
2004.01.09
Эмуляция клика мыши в другой прогроамме