![]() |
|
Модераторы: Poseidon |
![]()
|
|
| apostolnikolai |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 19.3.2009 Репутация: нет Всего: нет |
Как перевать StringGrid ( определенный слоблец ) с SocketServ на SocketClient по запросу клиента ( и передать именно этому клиенту а не всем сразу
Это сообщение отредактировал(а) apostolnikolai - 29.8.2009, 15:09 |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 9 Всего: 146 |
задача мало понятна , поподробнее ( с кусками исходников )
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| apostolnikolai |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 19.3.2009 Репутация: нет Всего: нет |
исходника нет .
Если задача StringGrid - имеет 5 столбщов 48 строк Нужно по запросу клиентской поргу ЧЕЗЕЖ Socket отправить первый столбец К примеру заходит клиент на сервер отправляет запрой USERLIST сервер в ответ кидает с своего StringGrid первый столбит в клиентский StringGrid первый столбик ! |
|||
|
||||
| apostolnikolai |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 19.3.2009 Репутация: нет Всего: нет |
или по другому есть таблица к примеру
Пользователь | Баланс | Статус | -------------------------------------------- Test | 100 | включен | она хранится на сервер нужно по запросу клиента через ClientSocket передать с ServerSocket эту таблилу в программу клиента . КАК ЭТО СДЕЛАТЬ |
|||
|
||||
| kami |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: нет Всего: 72 |
Задача разбивается на под-задачи (и под-вопросы соответственно):
1. Соединение между Client и ServerSocket установлено. (?) 2. Авторизация (т.е. передача клиентом на сервер "я - такой-то") пройдена. (?) 3. Протокол обмена между клиентом и сервером есть. (?) (т.е. к примеру - первый байт - команда, следующие 4 - длина данных, следующие - данные). 4. Сервер, получив от клиента команду на передачу данных из StringGrid переходит к п.5 (от кого поступила команда определяется параметром Socket в событии OnRead) 5. Сохранение данных TStringGrid в Stream. Как - тема отдельной ветки, ибо afair, StringGrid не умеет этого делать. 6. Сервер отправляет Stream, в котором сохранены данные StringGrid, через Socket из п.4 7. Клиент, получив данные от сервера, определяет, что это - данные StringGrid, сохраненные в потоке (благодаря пользовательскому протоколу обмена). 8. Клиент восстанавливает из полученного от сервера Stream в свой StringGrid (или куда_нибудь_еще) данные. Все довольны, все смеются. Дополнение: Не забыть, что в ходе передачи данные могут как разбиваться так и склеиваться. Т.е. к примеру сервер отправляет клиенту "123" потом "456", а клиент может получить "12" потом "3456" или сразу "123456". Даже в локалке с default-настройками данные больше (afair) 4кБ будут разбиты как минимум на 2 пакета. Именно поэтому нужен собственный пользовательский протокол обмена, чтобы не зависеть от разбиения и склейки данных по пакетам. С каким пунктом проблемы? Это сообщение отредактировал(а) kami - 29.8.2009, 18:48 |
|||
|
||||
| apostolnikolai |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 19.3.2009 Репутация: нет Всего: нет |
ГГГГГГГГггггггггггггг со 2 по 8
|
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 1 Всего: 58 |
apostolnikolai, о чем был последний многозначительный пост?
|
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 30 Всего: 372 |
apostolnikolai, как все это сделать - только что описал kami. Разбирайтесь с каждым пунктом.
Или Вы хотите получить готовый код? |
|||
|
||||
| apostolnikolai |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 19.3.2009 Репутация: нет Всего: нет |
былоб не плохо
|
|||
|
||||
| apostolnikolai |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 19.3.2009 Репутация: нет Всего: нет |
ну если можно хотябы этот момент в исходнике
5. Сохранение данных TStringGrid в Stream. Как - тема отдельной ветки, ибо afair, StringGrid не умеет этого делать. 6. Сервер отправляет Stream, в котором сохранены данные StringGrid, через Socket или если StringGrid не умеет этого делать то что можно испольховать подобное Это сообщение отредактировал(а) apostolnikolai - 29.8.2009, 20:41 |
|||
|
||||
| kami |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: нет Всего: 72 |
Для этого сперва реализуется протокол обмена между клиентом и сервером. Чтобы сервер мог сказать клиенту "я тебе отправляю вот такие данные вот такого размера" и клиент его понял (и наоборот - чтобы клиент мог покрыть сервер последними словами, а тот чтобы его понял.)
80% ответа заключено в вопросе - это действительно вопрос для отдельной ветки, ибо его тоже можно (и нужно) расписывать по полочкам. И суметь сохранить - это замечательно, но зачем это нужно, если не уметь восстановить сохраненное ? |
||||
|
|||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |