![]() |
Модераторы: feodorv |
![]() ![]() ![]() |
|
Dray |
|
|||
![]() Материалист ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 7.10.2003 Где: г. Всеволожск Репутация: нет Всего: 6 |
Подскажите оптимальный и наиболее правильный способ передачи класса через MFC'шные сокеты. Куда не посмотрю везде приводится пример с текстом или массивом каких либо стандартных типов.
![]() |
|||
|
||||
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: нет Всего: 62 |
А ты посмотри внимательней!
Что передается( какой параметр) в функцию? Провильно, void*, т.е указатель на что угодно, может передать &MyClass sizeof(Myclass) Последний параметр-размер класса Это сообщение отредактировал(а) Coocky - 18.7.2005, 21:56 -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: нет Всего: 25 |
Dray, через сокет... ХМ...
мягко говоря забудь... можно придумать решение для конкретного класса, но в общем можешь об этом забыть что посоветовать? а что за класы хочешь передавать -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: нет Всего: 62 |
Step
Ну здрасте, сокеты работаю с данными, как С++ с файлами, можно все, что угодно прочитать(получить), и записать(оправить..) -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
TarasCo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 24.6.2005 Репутация: нет Всего: 1 |
Насколько я помню, в MFC есть понятие сериализации - CObject::Serialize. Реализуйте потомок от CArchive, который будет осуществлять сераилизацию через сокеты.
|
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: нет Всего: 25 |
Coocky, класс это не только данные
![]() -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: нет Всего: 62 |
Step
Все понятно, просто на другом конце можно (нужно знать стуктуру) принять класс и все данные его.. -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: нет Всего: 25 |
дком позволяет передавать объекты... если я не ошибаюсь
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: нет Всего: 62 |
Step
Нет,DCOM-- это реализация COM на сетевом уровне! Т.е это немного не то... DCOM позволяет использовать COM через сеть... А через сокеты можно передавть все, что угодно, главное надругой стороне знать, как это обрабатывать.. Ты ведь можешь закачать через сеть картинку? Думаю да ![]() Поэтому передавать и посылать можно все, что угодно! -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: нет Всего: 25 |
Coocky, все сразил, можно, конечно все можно..... вопрос только в том, а нужноли
если на другой стороне все известно, нафига туда все передавать -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
Dray |
|
|||
![]() Материалист ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 7.10.2003 Где: г. Всеволожск Репутация: нет Всего: 6 |
В целом понятно. А как будет это выглядить если в классе находится элемент типа CString он каждый раз переменной длины. Размер передаваемого объекта класса, в этом случае, будет постоянным, или нет? Если он будет переменным, то могут возникнуть проблемы при приеме. Как быть?
![]() Это сообщение отредактировал(а) Dray - 20.7.2005, 18:40 |
|||
|
||||
Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: нет Всего: 62 |
Посмотри еще раз методы CSocket.
Я лично не сталкивался.. тесно, сейчас на вскидку не скажу... -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья ![]() |
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 1 Всего: 71 |
Dray а что тебе мешает запаковать свой класс в какую - нибудь переносимую структуру? А что если у тебя в классе указатели, как быть? ИМХО ручками все делать надо.
|
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |