|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.10.2015, 07:53 | #1 |
Форумчанин
Регистрация: 16.01.2011
Сообщений: 288
|
нужна помощь в понимании сокетов и indy
Подскажите пожалуйста, есть сервер и два клиента.На форме у клиентов есть стандартная кнопка.Как сделать так чтоб при нажатии на кнопку, кнопка исчезала и другие клиенты ее не видели(то есть как бы "режим реального времени )")
Делал так Клиент 1 нажимает на кнопку,отправляет команду на сервер сервер отправляет всем клиентом команду.Это работает - только при условии что эти два клиента были подключены в этот момент.А вот если клиент 1 был подключен и нажал на кнопку а второй подключился поже то у клиента 2 кнопка так и будет видна. Может лучше это реализовать на indy, а не на сокетах?В общем нужна помощь и в чем разница между совкетами и инди? Последний раз редактировалось mitiay; 24.10.2015 в 10:26. |
24.10.2015, 12:59 | #2 |
Участник клуба
Регистрация: 21.10.2015
Сообщений: 1,361
|
Сохраняете состояние на сервере, при подключении клиенторм раздовать это состояние.
инди просто обертка |
24.10.2015, 16:21 | #3 |
Форумчанин
Регистрация: 16.01.2011
Сообщений: 288
|
|
24.10.2015, 16:53 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Подробнее? Ну в программе сервера сделай некую переменку, которая будет хранить состояние кнопки (boolean). Каждый из клиентов, кто нажимает у себя кнопку, посылает запрос на изменение этой переменки. Соответственно сервер рассылает всем ее состояние (в цикле к примеру), или отвечает когда клиент подключается.
Пример можно дать тогда, когда ты покажешь как сделал свое ПО.
I'm learning to live...
|
24.10.2015, 16:56 | #5 |
Участник клуба
Регистрация: 21.10.2015
Сообщений: 1,361
|
Так вроде все должно быть понятно. Тот кто регулирует видимостью кнопок и т.п. отправляет комманду на сервер. Она сохраняеться на сервере в какомто хранилище (база данных, файл, память ...) и также отправляется всем клиентам.
Когда новый клиент подписывается, то ему сразу отправляеться это сохраненная информация. Таким образом вы достигните желаемого. Последний раз редактировалось come-on; 24.10.2015 в 17:39. |
25.10.2015, 10:59 | #6 |
Форумчанин
Регистрация: 16.01.2011
Сообщений: 288
|
Всем спасибо разобрался!Подскажите как передать от клиента строки мемо на сервер в мемо в таком же порядке
|
25.10.2015, 12:16 | #7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
25.10.2015, 13:22 | #8 |
Форумчанин
Регистрация: 16.01.2011
Сообщений: 288
|
ClientSocket1.Socket.SendText(memo2 .lines.text); вот так отправляю а как получить не знаю
Последний раз редактировалось mitiay; 25.10.2015 в 13:39. |
25.10.2015, 13:41 | #9 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Чет не понял, у тебя вообще не описан механизм получения?
Или ты нарвался на болячку этого компонента с отсутствием склейки пакетов?
I'm learning to live...
|
27.10.2015, 07:40 | #10 |
Форумчанин
Регистрация: 16.01.2011
Сообщений: 288
|
Код:
b1falseb2false - То есть записывается в одну строку.Как это исправить? |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Необходима помощь в понимании сокетов | Antony41 | Работа с сетью в Delphi | 12 | 22.10.2015 22:00 |
Нужна помощь в понимании программы, написанной на С | baltushka | Помощь студентам | 11 | 06.10.2011 00:50 |
Очень нужна помощь c матрицами, макросами в Excel. Заранее благодарен(поверьте, очень-очень нужна помощь) | Farridjan | Помощь студентам | 1 | 03.07.2009 12:24 |
Очень нужна помощь с написанием программы... срочно(буду благодарен за помощь) | 5Paladin5 | Помощь студентам | 3 | 02.07.2009 09:12 |
нужна помощь с INDY | san72 | Работа с сетью в Delphi | 3 | 29.05.2009 20:57 |