![]() |
|
Модераторы: feodorv |
![]()
|
|
| Loveb |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 18.11.2010 Репутация: нет Всего: нет |
Знаю, что тема уже сто раз обсуждалась, но никак не могу добить до конца свою передачу файла.
Использую CAsyncSocket. Текст передается и принимается нормально, а вот с файлом беда(( VC++ 2008 Передача:
m_pConnectSocket - наследник класса CAsyncSocket Прием:
Файл посылаю небольшой, всего пару байт. В поток при передаче пишется вроде верно, в дебагере высвечивает даже символы, которые записаны в передаваемом txt файле. Принимается файл правильного размера, вот только вместо нужных символов пустота(((( Так же пробовал на готовой работающей программе клиент-сервер, написанной на Delphi. 1) передача на С++, прием на Delphi: сохраняется файл правильного размера, но не с пустотой, а с ерундой какой-то. 2) передача на Delphi, прием на С++ В nRead пишет правильный размер а при попытке записи в поток вылетает с ошибкой An unhandled exception of type 'System.AccessViolationException' occurred in mscorlib.dll Additional information: Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена. При приеме после строчки nRead = m_pConnectSocket.Receive(&Buffer, file_size, 0); nRead отображает правильный размер, а длина Buffer оказывается равной нулю. Думаю из-за этого ошибка памяти, но почему становится равной нулю не понимаю(( |
||||
|
|||||
| asmdzen |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 28.11.2010 Репутация: нет Всего: 5 |
||||
|
||||
| Loveb |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 18.11.2010 Репутация: нет Всего: нет |
Попробовал с %, пишет ошибку
operator '%' can only be applied to an instance of a ref class or a value-type Тут действительно косяк с объявлением буфера и указатель/не указатель Решил проблему объявив еще один буфер и тупо переписав данные из одного в другой
Но это как-то каряво + дополнительные затраты ъ Если кто знает как сделать по-человечески, буду очень признателен )) |
|||
|
||||
| asmdzen |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 28.11.2010 Репутация: нет Всего: 5 |
главное не забыть:
) |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |