Форум: "Начинающим";
Текущий архив: 2007.10.21;
Скачать: [xml.tar.bz2];
ВнизКак правильно использовать TServerSocket? Найти похожие ветки
← →
alles © (2007-09-25 16:41) [0]Добрый день.
Задачя состоит в том что при каждом коннекте клиента создавался новый TServerClientThread где будем читать только данные отправленные этого клиента а не другого. Эти данные будут обрабатыватся и потом послать ему (клиенту) обратно ответ.
Как правильно использовать компонент TServerSocket в этом случай.Какое значение в полеServerType
у ServerSocket-a должна быть? А у клиента в полеClientType
?
Спасибо
← →
Сергей М. © (2007-09-25 16:50) [1]
> Какое значение в поле ServerType у ServerSocket-a должна
> быть?
stThreadBlocking
> А у клиента в поле ClientType?
По барабану какое. На работу сервера это никак не повлияет.
> Как правильно использовать компонент TServerSocket в этом
> случай
Обрабатывай событе OnGetThread, где создавай собственный транспортный поток - наследник TServerClientThread с перекрытым методом ClientExecute, в теле которого работай с удаленным клиентом посредством объекта, представленного св-вом TServerClientThread.ClientSocket.
Традиционный шаблон обработчика ClientExecute:while not Terminated and ClientSocket.Connected do begin
..
end;
События OnClientRead, OnClientWrite в режиме stThreadBlocking не возбуждаются, забудь про них.
← →
alles © (2007-09-25 16:55) [2]Сергей а надо использовать в этом потоке
TWinSocketStream
(нашел в инете) или можно сюда использовать пример из делфи:
.......
while ClientSocket.ReceiveLength > 0 do
Buffer:=AllocMem(ClientSocket.ReceiveLength);
.......
← →
Сергей М. © (2007-09-25 17:03) [3]
> а надо использовать в этом потоке TWinSocketStream (нашел
> в инете)
Использовать этот класс можно , но необязательно.
> или можно сюда использовать пример из делфи
Плохой пример. Использовать его как альтернативу настоятельно не рекомендую.
← →
Dmitro © (2007-09-26 00:27) [4]А чем TServersocket.Socket.ActiveConnections[i] не устраивает?
← →
Сергей М. © (2007-09-26 08:18) [5]
> чем TServersocket.Socket.ActiveConnections[i] не устраивает?
А он-то здесь с какого боку ?
← →
Сергей М. © (2007-09-26 08:32) [6]
> События OnClientRead, OnClientWrite в режиме stThreadBlocking
> не возбуждаются, забудь про них
Точнее было бы сказать так - эти события не автоматически возбуждаются, если перекрыть ClientExecute.
В противном случае эти события возбуждаются в контексте основного потока.
← →
Сергей М. © (2007-09-26 08:46) [7]
> эти события не автоматически возбуждаются, если
эти события автоматически не возбуждаются, если
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.10.21;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.055 c