Форум: "Сети";
Текущий архив: 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