![]() |
Модераторы: Snowy, Poseidon, MetalFan |
![]() ![]() ![]() |
|
Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: нет Всего: 3 |
Стоит задача написания клиент-сервера. У меня Delphi2006 на вкладке Internet имеются компоненты TTcpClient и TTcpServer. Так же есть куча компонентов Indy. В Delphi7 был примерчик NetChat, который демонстрировал наглядно работу TTcpClient и TTcpServer. Возникает вопрос стоит ли использовать TTcpClient и TTcpServer или все же лучше Indy. На сколько актуальны эти (TTcpClient и TTcpServer) компонеты на сегодняшний день.
-------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
TIdTCPServer/TIdTCPClient дают больше возможностей, чем стандартные TTCPServer/client, хотя по сути оба являются обертками на сокетами.
-------------------- There are always someone smarter than you... |
|||
|
||||
Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: нет Всего: 3 |
А в чем именно их преимущество над TTCPServer/client -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
по пунктам перечислять желания нет. как и желания лезть в исходники те и другие, что можешь и сам сделать) хотябы сравнив св-ва и методы
-------------------- There are always someone smarter than you... |
|||
|
||||
Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: нет Всего: 3 |
Понимаешь мне особо навороты не нужны, а TTcp* помоему проще. -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
если устраивает TTCP*, то тогда в чем проблема? пользуй его)
-------------------- There are always someone smarter than you... |
|||
|
||||
Delphist |
|
||||||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: нет Всего: 3 |
Остановился я на компонентах TTcp* Дело в том что я хочу построить клиент-сервер. В делфях есть пример NetChat, там приложение является одновременно и клиентом и сервером. У меня же задача следующая - есть клиент который передает серверу ID команды. Сервак согласно принятому ID выполняет ту или иную задачу (есть задачи которые быстро исполняются, а есть на которые нужно минуту и больше). После того как задача выполнена на клиет посылает код исполнения задачи. Я так понимаю здесь нужно cделать так - на стороне клиента только использовать TTcpClient, а на стороне сервера только TTcpServer или все же нужно делать по тому же принципу как в NetChat? Я сделал клиента и сервер, от клиента на сервак данные приходят, а вот от сервака на клиент почему то нет. В чем может быть проблема? //КЛИЕНТ
//СЕРВЕР
P.S. Прилагаю исходники Присоединённый файл ( Кол-во скачиваний: 5 ) ![]() -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
||||||
|
|||||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
так ты на сервере пытаешься в сокет для прослушки что-то слать...
можно слать 1. в OnAccept'e
2. в клиентские сокеты... и принимать на клиенте надо сразу после посылки данных серверу, а не в OnRecieve (в случае с блок.сокетами) и еще надо заметить, что код OnAccpet выполняется в ДОПОЛНИТЕЛЬНОМ потоке и лезть из него в компоненты на формы я бы не рекомендовал. Это сообщение отредактировал(а) MetalFan - 28.2.2009, 22:19 -------------------- There are always someone smarter than you... |
|||
|
||||
Delphist |
|
||||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: нет Всего: 3 |
Не понял. Это ты про это:
Скажи, пожалуйста, а TcpClient1Receive на клиенте тоже работает в ДОПОЛНИТЕЛЬНОМ потоке? Это сообщение отредактировал(а) Delphist - 1.3.2009, 01:44 -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
||||
|
|||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
да, про это самое
вроде бы нет. можешь сам в принципе посмотреть реализацию -------------------- There are always someone smarter than you... |
|||
|
||||
Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: нет Всего: 3 |
Результаты долгих экспериментов,
За 26 часов, мною было проведено больше сотни экспериментов, на предмет синхронной и асинхронной передачи данных разными подходами, выдаю результаты: INDY 9 Синхронная + Асинхронная + Чтобы сделать реализацию кода надо выпить литр водки ![]() INDY 10 Синхронная + Асинхронная + Чтобы сделать реализацию кода надо выпить 2 литра водки ![]() Недостаток Indy9 и Indy10 резко отличаются друг от друга ![]() Компоненты TTcp* Синхронная + Асинхронная (через зад..цу) Просты в использовании, но не работает четко асинхронная передача, нужно фентить свойство BlockMode оказался по разному себя ведет в Delphi7 и BDS 2006 Компоненты TClientSocket и TServerSocket Синхронная + Асинхронная + Компоненты forever Четко прослеживается логика работы клиент-серверного приложения. Легки в эксплуатации. Очень гибкие, чтобы понять как они работают пить водку не придется ![]() Это сообщение отредактировал(а) Delphist - 2.3.2009, 11:07 -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
Virtuals |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 476 Регистрация: 27.11.2006 Репутация: 2 Всего: 11 |
Delphist,
полностью согласен, из родных компонентов TClientSocket и TServerSocket самое оно. из неродных имхо ICS. |
|||
|
||||
Delphist |
|
|||
![]() Delphist Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2145 Регистрация: 3.2.2004 Где: всегда в сети Репутация: нет Всего: 3 |
Virtuals, вот где ты раньше был я убил два выходных чтобы прийти к этой истине
![]() -------------------- ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др). Когда-то давным-давно использовал это... |
|||
|
||||
Virtuals |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 476 Регистрация: 27.11.2006 Репутация: 2 Всего: 11 |
Delphist,
как где? отмечал весну, и читал соседний форум на такую-же тему |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
не возникало проблем с исползованием индей. водку литрами не пил, и так разобрался.
кстати, инди, afaik, используются сокеты в блокирующем режиме... так что непонятно, как автор проверял их в "Асинхронная +") -------------------- There are always someone smarter than you... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Сети" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |