Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Server Socet 
:(
    Опции темы
NightXXX
Дата 8.5.2007, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 18.11.2006
Где: Россия

Репутация: нет
Всего: нет



Подскажите пожайлуста как можно передать данные от сервера клиенту, обратно я сделал, сервак не хочет отправлять какими функциями отправлять данными!!! 
Буду благодарен за помощь, или хотя бы за какую нибудь подсказку.
PM MAIL ICQ   Вверх
NightXXX
Дата 22.5.2007, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 18.11.2006
Где: Россия

Репутация: нет
Всего: нет



Тут что никто не пользуется TCP/IP Socket

    Socket->SendBuf(void *,int) 

Вот функция для передаци данных буферизованных
Подскажите как передать весь класс,т.е. его данные? 
Чего то мне в голову ничего не приходит! 

PM MAIL ICQ   Вверх
Snowy
Дата 22.5.2007, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 1
Всего: 484



Цитата(NightXXX @  22.5.2007,  20:37 Найти цитируемый пост)
Server Socet
Что делает?

Цитата(NightXXX @  22.5.2007,  20:37 Найти цитируемый пост)
Подскажите как передать весь класс,т.е. его данные? 
Очень сильно зависит от того, какой класс и кто его родитель...
Чтобы передать класс, нужно сначала его сериализовать в стрим, а потом передать этот стрим.
На другой стороне десериализовать.
Сериализуются только published проперти.
У TComponent есть для этого методs SaveToStream и LoadFromStream.
PM MAIL   Вверх
NightXXX
Дата 22.5.2007, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 18.11.2006
Где: Россия

Репутация: нет
Всего: нет



Допускаем что у класса нет родителей.
Вот пример : 

class TStudent
{
 private:
 public:
    unsigned int ID;
    AnsiString name;
    AnsiString file;
    AnsiString num;
};

как вы говорите это записать в стрим и что это такое в двух словах?
Не могли бы вы пример показать как это сработает на передачу и на прием?
PM MAIL ICQ   Вверх
Snowy
Дата 22.5.2007, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 1
Всего: 484



Так не бывает, чтоб родителей совсем не было...
Если родитель не указан, значит это TClass.
Данный пример автоматом не сериализуется, т.к. не имеет RTTI информации.
Для сериализации автоматом, родителем должен быть минимум TPersistent. Но с ним придёться ещё побороться.
Если родитель TComponent, то у него уже есть всё необходимое.
В любом случае, для автоматической сериализации требуется RTTI информация. Поэтому все поля должны быть published.
Но можно и без этого обойтись - записать все поля вручную - последовательно каждое поле.
Для этого потребуется TMemoryStream и TWriter.
Для чтения соответственно TMemoryStream и TReader.
Примеры и описание есть в любой толковой книжке.
Также можно попробовать поиск и справку.
Ну а с передачей стрима, надеюсь, проблем не возникнет...
Пример накидать мне слабо - не силён в плюсах smile 
PM MAIL   Вверх
Anikmar
Дата 22.5.2007, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 34
Всего: 59



Цитата(Snowy @  22.5.2007,  21:19 Найти цитируемый пост)
Так не бывает, чтоб родителей совсем не было...
Если родитель не указан, значит это TClass.

Это в смысле как? Если класс собственный и ни от кого не наследуется, откуда у него родитель по-умолчанию? 
PM MAIL ICQ   Вверх
NightXXX
Дата 22.5.2007, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 18.11.2006
Где: Россия

Репутация: нет
Всего: нет



Спасибо ща просмотрим что да как!
PM MAIL ICQ   Вверх
Snowy
Дата 22.5.2007, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 1
Всего: 484



Цитата(Anikmar @  22.5.2007,  21:24 Найти цитируемый пост)
Если класс собственный и ни от кого не наследуется, откуда у него родитель по-умолчанию? 
От борланда ;-)
Все объекты изначально произведены от TObject, классы от TClass, интерфейсы от IInterface.
Если мы явно никого не прописываем, то предки именно они...
PM MAIL   Вверх
Anikmar
Дата 23.5.2007, 08:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 34
Всего: 59



Цитата(Snowy @  22.5.2007,  22:04 Найти цитируемый пост)
От борланда ;-)
Все объекты изначально произведены от TObject, классы от TClass, интерфейсы от IInterface.
Если мы явно никого не прописываем, то предки именно они... 

Поясните, пожалуйста, мне что-то не понятно:
1. Чем объекты отличаются от классов согласно вашему высказыванию
2. Что это за класс TClass и какие у него есть члены
3. Если я объявляю в своей программе собственный класс без всяких родителей, то значит по-умолчанию я его наследую от родителя TClass? И значит я могу пользоваться какими-то его полями/методами/свойствами и т.п.?  А какими?


PM MAIL ICQ   Вверх
Snowy
Дата 23.5.2007, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 1
Всего: 484



Anikmar, если работодатель узнает, что ты не знаешь таких вещей... smile 
1. Класс - описатель объектов.
Объект - инстанс класса. То есть непосредстверро экземпляр класса.
Например TButton - класс. А Button1, Button2 и т.д. - это объекты-экземпляры класса TButton.
2. TClass - класс для TObject. По сути TClass = class of object; Всё, что он умеет - описано у TObject, а он просто представляет собой его класс.
3. Да. Какими? Смотри справку или просто попробуй autocomplite. Создай экземпляр пустого класса и попробуй вызвать любой его метод - автокомплит подскажешь, что ты можешь вызвать...

Добавлено через 44 секунды
Лекцию читал Snowy. smile
PM MAIL   Вверх
HappyLife
Дата 23.5.2007, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 17.5.2006

Репутация: 4
Всего: 8



Snowy, это не дельфи, расслабься)
Челу тупо нужно создать структуру и передать её.

struct Data
{
    unsigned int ID;
    char name[50];
    char file[50];
    char num[50];
};

Data data;

 Socket->SendBuf(&data,sizeof(data)) ;


PM MAIL   Вверх
Anikmar
Дата 23.5.2007, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 34
Всего: 59



Snowy, может в дельфи это и так, но с Си++ никаких родителей по умолчанию нет. По крайней мере я их не обнаружил.

Лекцию слушал Anikmar
 smile 
PM MAIL ICQ   Вверх
NightXXX
Дата 24.5.2007, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 18.11.2006
Где: Россия

Репутация: нет
Всего: нет



Цитата

 Socket->SendBuf(&data,sizeof(data)) ;


Вот таким образом у меня структура не передается, приходит только один параметр а остальные куда то теряются!((( не могу понять почему!(
PM MAIL ICQ   Вверх
HappyLife
Дата 24.5.2007, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 17.5.2006

Репутация: 4
Всего: 8



NightXXX, 
Все верно. Данные сразу все не приходят.
И не передавай AnsiString....!

Это сообщение отредактировал(а) HappyLife - 24.5.2007, 15:12
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0531 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.