Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/28: Рейтинг темы: голосов - 28, средняя оценка - 5.00
 Аватар для body90
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696

Не всегда получается передать файл

01.12.2009, 02:26. Показов 5524. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написал приложение, которое передает по сети файлы.
Вроде бы всё работает, но не всегда. Иногда выскакивает ошибка, что клиент не дождался ответа. Хотя сервер ждет входящих пакетов, чтоб ответить.
Помогите исправить код.
Вложения
Тип файла: rar Program.rar (2.6 Кб, 449 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.12.2009, 02:26
Ответы с готовыми решениями:

Не всегда получается переименовать файлы и папки ("Не удаётся найти указанный файл")
Всем добрый день! вопрос казалось бы банальный и простой, но решения на него найти не получается уже долго. по делу если - не...

Не получается. В моем коде в ответе 0 всегда
Нужно найти с заданной точностью.

Не получается сделать коллекцию класса - всегда выводится последний элемент
type TPrep=class(TBaseClass) private FIDprep:Integer; FFIO:String; FStatus:String; ...

13
 Аватар для body90
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
01.12.2009, 18:33  [ТС]
Какими порциями лучше отправлять данные?
0
10 / 10 / 4
Регистрация: 04.10.2009
Сообщений: 21
02.12.2009, 11:42
Посмотрел твой код. Сколько ни запускал ошибки не получил.
Я отправляю файл порциями по 8192 байта. (вычитал в книжке "NET. Сетевое программирование для профессионалов")
1
 Аватар для body90
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
02.12.2009, 15:35  [ТС]
А Вы сами себе посылали или по сети?

Добавлено через 55 секунд
А книга стоящая?
0
10 / 10 / 4
Регистрация: 04.10.2009
Сообщений: 21
02.12.2009, 15:48
Посылал и по сети. Единственное что добавил - проверку получаемого IPAddress. У меня в сети Dns.GetHostEntry(host).AddressList[0] дает адрес IPv6.

Книга стоящая. В сети можно скачать. Там многие вопросы освещены профессионально.
1
 Аватар для body90
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
02.12.2009, 20:27  [ТС]
Я больше ценю бумажные издания. Подумаю над покупкой.
А как Вы делали проверку?
0
10 / 10 / 4
Регистрация: 04.10.2009
Сообщений: 21
03.12.2009, 10:12
C#
1
2
3
4
5
6
7
8
9
IPAddress[] serverAddreses = Dns.GetHostAddresses(this.serverName);
            foreach (IPAddress nextAddress in serverAddreses)
            {
                if (!nextAddress.IsIPv6LinkLocal)
                {
                    this.serverIPAddress = nextAddress;
                    break;
                }
            }
Добавлено через 33 минуты
Предыдущее не совсем верно
Правильно будет так
C#
1
2
3
4
5
6
7
8
9
IPAddress[] serverAddreses = Dns.GetHostAddresses(this.serverName);
            foreach (IPAddress nextAddress in serverAddreses)
            {
                if (nextAddress.AddressFamily.ToString() == ProtocolFamily.InterNetwork.ToString())
                {
                    this.serverIPAddress = nextAddress;
                    break;
                }
            }
1
 Аватар для Sergeymd
0 / 0 / 1
Регистрация: 13.09.2009
Сообщений: 45
19.04.2010, 22:40
ну а ты решил свою проблему с передачей файлов? Я немножко переписал твою прогу для передачи чрез нет и там вобщем файл передается немножко не до конца, (хотя если проверять на одном компе то все нормально)
0
 Аватар для Mikant
1322 / 995 / 127
Регистрация: 08.12.2009
Сообщений: 1,299
20.04.2010, 00:52
Цитата Сообщение от Тихомиров Посмотреть сообщение
Я отправляю файл порциями по 8192 байта.
Почему такой размер? (Я серьёзно)
0
 Аватар для body90
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
21.04.2010, 03:19  [ТС]
Я так понимаю, что так написано в книге
0
 Аватар для m0nax
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
21.04.2010, 03:44
Цитата Сообщение от Mikant Посмотреть сообщение
Почему такой размер? (Я серьёзно)
цифра знакомая какая-то - вроде это стандартный размер буфера всяческих файловых/сетевых потоков, но могу ошибаться
0
 Аватар для body90
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
21.04.2010, 03:48  [ТС]
Чтоб красиво в пакет входило. иначе будут идти полупустые пакеты
0
0 / 0 / 0
Регистрация: 02.06.2016
Сообщений: 1
11.04.2017, 14:40
На приеме проверка не правильная.

Вместо:
C#
1
processed = processed + fSize
Например вот так в if и else:
C#
1
processed = processed + (ulong)bytes;
0
11.04.2017, 16:47

Не по теме:

shafi, последнему посту 7 лет, ты серьёзно?

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.04.2017, 16:47
Помогаю со студенческими работами здесь

При передачи данных из BeginForm в RedirectToRouteResult всегда получается id равное null
При передачи данных из BeginForm в RedirectToRouteResult всегда получается id равное null Не могу понять почему int id_game всегда...

Почему при выполнении программы всегда получается нулевой вектор и DOMAIN error?
Ввести вектор цілих чисел. Виконати нормування елементів цього вектора, розділивши кожен з них на значення максимального елемента. Якщо...

Проблема с ACER Aspire E5-575G (NOKOTION DAZAAMB16E0 NBGDF1100B NB) не всегда получается включить
Ноутбук ACER иногда не запускается, но при этом работают лампочки и максимально крутит кулер. Иногда если подержать без питания, или...

Не получается передать строку
#define _CRT_SECURE_NO_WARNINGS #include <cstdlib> #include <cstring> #include <iostream> using namespace std; class...

Не получается передать php переменную в js
Всем привет! Прошу у вас помощи т.к я не айс в js. У меня есть вид материалов фотографий пользователя и вывожу естественно циклом! ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru