Главная страница
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.018 c
8-25453
CTAPbIi
2003-09-09 13:51
2004.01.09
Проигрывание TAnimate из ресурса -


14-25533
Valya(Crazy)
2003-12-19 11:22
2004.01.09
Как ускорить движок на OpenGl


1-25442
vasyaVN
2003-12-23 14:33
2004.01.09
Можно ли вообще избежать в TCustomControl отрисовки?


14-25535
Silver Alex
2003-12-19 11:52
2004.01.09
Поздравляю всех с днем св. Николая


1-25298
Евгыш
2003-12-23 10:07
2004.01.09
OPC сервер