![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 24.07.2009
Сообщений: 3
|
![]()
Добрый день. Подскажите пожалуйста, как передать структуру через socket/
Вот код. Сама структура: Код:
Код:
Код:
Заранее большое спасибо. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
//Здесь происходит заполнение полей структуры TTransferPack
> отправляется какая-то белиберда чем заполнили, то и отправляется ) может на принимающей стороне что-то не так?
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 24.07.2009
Сообщений: 3
|
![]()
К сожалению, заполняется все корректно. На принимающей стороне тоже проблем нет.
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
не верю. В строке
Код:
Значит, или заполняете неправильно, или принимаете не то, что ожидаете. > memset(&pack, 0, MAX_SIZE); Кстати, а чему равно MAX_SIZE?
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 24.07.2009
Сообщений: 3
|
![]()
MAX_SIZE = 4096
При отладке значения всех полей pack нормальные. Можно из этого считать, что заполняется правильно? size вроде корректно заполнен. Вычисляется по сумме размеров всех полей структуры. |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
> MAX_SIZE = 4096
хм, обявление TTransferPack pack; выделяет на стеке sizeof(TTransferPack) байт (несложно подсчитать, что это примерно 300 байт, не больше) . И тут вы забиваете 4096 нулей по этому адресу. Как будет работать программа после этого не знает ни один компилятор. Что интересно, тут у вас всё хорошо: Код:
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 05.06.2010
Сообщений: 29
|
![]()
Если передача идет по TCP то он разбивает пакеты как хочет, так что
Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как передать структуру в поток при _beginthread | Ksardas13 | Общие вопросы C/C++ | 2 | 10.03.2012 05:00 |
Как передать заголовки в php через CURL | sergeiqwe | PHP | 1 | 07.11.2010 21:08 |
Работа программы через сеть - ошибка Socket Error #11004 ??? | $T@LKER | Помощь студентам | 2 | 30.07.2010 14:20 |
Как правильно передать через ссылку двумерный динамический массив? | amerhant | Общие вопросы C/C++ | 2 | 21.04.2010 23:50 |
Как передать POST data через запрос в веб-приложение | Anticrim | Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC) | 3 | 03.10.2007 18:19 |