Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
4-1177198354
nikitozz
2007-04-22 03:32
2007.10.21
Как завершить процесс.


6-1171959552
santey
2007-02-20 11:19
2007.10.21
Как установить статический ип на сетевом адаптере


4-1177393309
AlexEgorov
2007-04-24 09:41
2007.10.21
Межпотоковое взаимодействие: есть поток, который при


1-1185870724
Dmitry_177
2007-07-31 12:32
2007.10.21
PageControl переключение по условию


2-1190472045
SKIPtr
2007-09-22 18:40
2007.10.21
Обновление текста в ListView





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