| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Сети > Передача класса |
| Автор: Dray 18.7.2005, 18:40 |
| Подскажите оптимальный и наиболее правильный способ передачи класса через MFC'шные сокеты. Куда не посмотрю везде приводится пример с текстом или массивом каких либо стандартных типов. |
| Автор: Coocky 18.7.2005, 21:55 |
| А ты посмотри внимательней! Что передается( какой параметр) в функцию? Провильно, void*, т.е указатель на что угодно, может передать &MyClass sizeof(Myclass) Последний параметр-размер класса |
| Автор: Step 19.7.2005, 03:13 |
| Dray, через сокет... ХМ... мягко говоря забудь... можно придумать решение для конкретного класса, но в общем можешь об этом забыть что посоветовать? а что за класы хочешь передавать |
| Автор: Coocky 19.7.2005, 10:12 |
| Step Ну здрасте, сокеты работаю с данными, как С++ с файлами, можно все, что угодно прочитать(получить), и записать(оправить..) |
| Автор: TarasCo 19.7.2005, 11:10 |
| Насколько я помню, в MFC есть понятие сериализации - CObject::Serialize. Реализуйте потомок от CArchive, который будет осуществлять сераилизацию через сокеты. |
| Автор: Step 19.7.2005, 11:26 |
| Coocky, класс это не только данные |
| Автор: Coocky 19.7.2005, 14:10 |
| Step Все понятно, просто на другом конце можно (нужно знать стуктуру) принять класс и все данные его.. |
| Автор: Step 19.7.2005, 15:55 |
| дком позволяет передавать объекты... если я не ошибаюсь |
| Автор: Coocky 19.7.2005, 17:39 | ||
Step
Нет,DCOM-- это реализация COM на сетевом уровне! Т.е это немного не то... DCOM позволяет использовать COM через сеть... А через сокеты можно передавть все, что угодно, главное надругой стороне знать, как это обрабатывать.. Ты ведь можешь закачать через сеть картинку? Думаю да Поэтому передавать и посылать можно все, что угодно! |
| Автор: Step 19.7.2005, 18:04 |
| Coocky, все сразил, можно, конечно все можно..... вопрос только в том, а нужноли если на другой стороне все известно, нафига туда все передавать |
| Автор: Dray 20.7.2005, 18:39 |
| В целом понятно. А как будет это выглядить если в классе находится элемент типа CString он каждый раз переменной длины. Размер передаваемого объекта класса, в этом случае, будет постоянным, или нет? Если он будет переменным, то могут возникнуть проблемы при приеме. Как быть? |
| Автор: Coocky 20.7.2005, 21:56 |
| Посмотри еще раз методы CSocket. Я лично не сталкивался.. тесно, сейчас на вскидку не скажу... |
| Автор: S.A.P. 23.7.2005, 23:29 |
| Dray а что тебе мешает запаковать свой класс в какую - нибудь переносимую структуру? А что если у тебя в классе указатели, как быть? ИМХО ручками все делать надо. |