|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.09.2008, 22:45 | #1 |
Пользователь
Регистрация: 12.09.2008
Сообщений: 37
|
IdTCP
Здравствуйте, уважаемые знатоки, помогите пожалуйста! ЗАранее прошу прощения за глупость, неопытный еще...
Есть клиент-серверное приложение вопрос в следующем: 1. а) Нужно что бы клиент при нажатии кнопки отправлял серверу какую либо строку. б) Где (в какой процедуре,обработчике) и как отслеживать получение строк от сервера 2. а) Что бы клиент при получении отправлял ответную строку. б) Что бы клиент при нажатии кнопки отправлял какую либо строку. Заранее спасибо!!)) |
13.09.2008, 20:57 | #2 |
Форумчанин
Регистрация: 25.03.2007
Сообщений: 166
|
Вот...
1. а) Код:
Код:
а) Код:
А вообще это уже обсуждалось, юзай поиск по форуму. |
13.09.2008, 23:00 | #3 |
Пользователь
Регистрация: 12.09.2008
Сообщений: 37
|
Pedro, спасибо большое, просто я еще совсем не опытный, и у меня пока плохо получается понимать чужой код, а уж темболее переделывать его под себя... НО я постараюсь исправиться)
Когда я задавал вопрос, я немного ошибся, а именно во втором пункте, я хотел спросить следующее: 2. а) Что бы СЕРВЕР при получении отправлял ответную строку. б) Что бы СЕРВЕР при нажатии кнопки отправлял какую либо строку. в) Где (в какой процедуре,обработчике) и как отслеживать получение строк от КЛИЕНТА, кажетчся это обработчик onExecute, если я не ошибаюсь. правильно? Еще раз заранее спасибо! |
14.09.2008, 12:48 | #4 |
Форумчанин
Регистрация: 25.03.2007
Сообщений: 166
|
2
а) Код:
Код:
Код:
Кстати, забыл сказать, нужно выставить у клиента значение ReadTimeout=1. Вроде все |
14.09.2008, 23:52 | #5 |
Пользователь
Регистрация: 12.09.2008
Сообщений: 37
|
О великий Pеdro, ты снова помог мне, СПАСИБО ОГРОМНОЕ!))
Хочу задать еще несколько вопросов, если еще не надоел конечно)) А для чего нужен "ReadTimeout", что он дает и почему присваивается значение именно "1"? 1. Плддерживает ли IdTCTPServer несколько подключений и если да, то сколько. 2. Как отправить строчку определенному клиенту, например подключено к серверу три, а мне нужно отправить строчку только второму... Заранее спасибо! Последний раз редактировалось ToLeG; 14.09.2008 в 23:55. |
15.09.2008, 19:00 | #6 |
Форумчанин
Регистрация: 25.03.2007
Сообщений: 166
|
Тааак... Про ReadTimeout... Ну насколько я понимаю(а мое мнение может быть ошибочным), ReadTimeout - это таймаут чтения. Indy - это блокирующие сокеты, следовательно пока не выполнится действие будет идти таймаут и пользовательский интерфейс будет заморожен. ReadTimeout=1 значит что таймаут будет длиться 1 мск, и после этого времени прозойдет исключение. Пример:
Код:
IdTcpServer поддерживает несколько подключений, сколько конкретно я не знаю. 2. Код:
TIdPeerThread(list.Items[1]).Connection.WriteLn(edit1.Text); - 2му клиенту |
15.09.2008, 21:21 | #7 |
Пользователь
Регистрация: 12.09.2008
Сообщений: 37
|
1. А что должно храниться в перменной list, IP адрес или что то другое?
2. Если в ней хранится IP адрес, то как сервером узнать ip адрес клиента а) от которого, например только что пришла строчка? б) или например, который только что подключился (при подключении) Последний раз редактировалось ToLeG; 16.09.2008 в 08:54. |
16.09.2008, 19:52 | #8 |
Форумчанин
Регистрация: 25.03.2007
Сообщений: 166
|
При подключении вот так можно узнать IP
Код:
А вот на счет переменной лист я точно не знаю. |
16.09.2008, 21:52 | #9 |
Пользователь
Регистрация: 12.09.2008
Сообщений: 37
|
БОЛЬШОЕ СПАСИБО!!!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Снова idtcp | Pedro | Работа с сетью в Delphi | 20 | 01.04.2010 22:37 |