![]() |
|
Модераторы: Snowy, Poseidon, MetalFan |
![]()
|
|
| SomlicH |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 24.1.2006 Где: г. Абинск Репутация: нет Всего: нет |
Начал юзать компоненты idTCPClient и idTCPservet в 7 Делфях
Код самый элементарный:
Только запускаю на исполнение, то сразу выкидывает ошибку No execute handler found ничего понять не могу, перерыл пол Инета. Или я такой тупой или Делфи сильно умный? Need Help!!!! Please!!!!! Это сообщение отредактировал(а) Girder - 30.1.2006, 13:02 |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Просто тебя просят написать код для сервера - т.е. что должен делать сервер при коннекте.
Нужно или хэндлер приделывать, либо написать кон да события сервера. Иначе он просто не знает что ему делать и ругается. |
|||
|
||||
| SomlicH |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 24.1.2006 Где: г. Абинск Репутация: нет Всего: нет |
Может я пока что то плохо понимаю, но вот например я довавил
То есть по логике долно выдаваться сообщение о IP адресе подключенного клиента, затем отключается клинет и сервер. все нормально, сообщение выдается, а через пару секунд выпрыгивает ошибка Terminate Thread Timeout, что за время вышло я не пойму? Если вопрос глупый, то оговорюсь, начинаю только осваивать эти компоненты. Это сообщение отредактировал(а) Girder - 30.1.2006, 13:02 |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Нужно назначить событие OnExecute.
Оно будет вызываться постоянно, пока не произойдет дисконнект. Без него поток коннекта не знает что ему делать - в нем должна быть вся основная логика. |
|||
|
||||
| SomlicH |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 24.1.2006 Где: г. Абинск Репутация: нет Всего: нет |
Смысл приложения в принципе прост: по локалке несколько клиентов отсылают значение нескольких
переменных (типа String) серверу. Он их отображает в таблице, указывая с какого IP адреса эти данные поступили (или сетевого имени компьютера). Вот в принципе и все. С ошибками вроде разобрался. Огромное спасибо. И вроде понял как посылаются текстовые сообщения (WriteLn и соответствено ReadLn), но вот как конкретно послать переменную ну например Name:='Вася Пупкин', потом Now:='50%' , и чтобы сервер понял, что это конкретно значение этой переменной, а ни какой другой. И еще, как коректно завершить все подключения, если методом Disconnect, то где его припаять? Заранне спасибо за помощь в освоении сетевых дебрей Делфи |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Посылый их вместе.
Или соединяй в одну строку через какой-нить разделитель, Или работай не текстом, а в потоковом режиме. Отправить блок данных - принять блок данных. Только не забывай перед отправкой слать 2 байта размер данных, а при чтении читай 2 байта, а потом данные этого размера. Добавлено @ 18:13 Вот пример текстового сервера: Добавлено @ 18:15 P.S. В качестве клиента может быть телнет. Просто подключись им на порт 8080. Присоединённый файл ( Кол-во скачиваний: 55 )
Server.zip 8,30 Kb |
|||
|
||||
| SomlicH |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 24.1.2006 Где: г. Абинск Репутация: нет Всего: нет |
Огромное спасибо за исчерпывающий ответ. Особенно за пример.
Форум просто супер. Постараюсь здесь почаще бывать. Добавлено @ 19:04 Поступил просто (может слишком)? Посылая значение переменных, начиная каждую с цифры (например '1Вася Пупкин') Цифры анализирует сервер, если например первая цифра 1 то значит пришла переменная Name и так далее, на клиенте таймер и каждые 5сек от отсылает данные серверу. Может не изящно, но работает. И с дисконнектом всю оказывается просто. А я 4 дня парился, пока на этот форум не забрел. Snowy - низкий поклон! Это сообщение отредактировал(а) SomlicH - 25.1.2006, 19:06 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Сети" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |