|
0 / 0 / 0
Регистрация: 04.06.2017
Сообщений: 17
|
|||||||||||||||||||||||||||||||||||||||||
Передача данных по сети при помощи TcpClient29.07.2023, 18:34. Показов 1335. Ответов 0
Коллеги, приветствую!
Я создал приложения на основе клиент-сервер, которые обмениваются между собой данными, и файлами. Соединение работает на основе класса :
1. На сервере запущена прослушка входящих соединений и соединение при запросе:
3. Далее передача числа от клиента к серверу посредством такого кода:
- Но еще одна причина вопроса- что такая схема передачи данных очень медленная. Для передачи десятка цифр то неважно, но при передачи файлов, допустим в 50мегобайт, это превращается в боль ожидания. При передачи файла я разбиваю его на блоки и пересылаю. Вот код:
-когда это проделываешь в тестовом режиме на одном компе
Но при соединении с удалённым сервером, так можно передать только небольшие файлы в несколько килобайт. Файлы в пол-мегабайта уже не факт что передадутся нормально, а при больших размерах - гарантированный сбой. При попытке поиска ошибки я выяснил, что при передачи строк, в какой то момент происходит какая то потеря, или рассинхрон в получении этих данных. т.е. отправитель всё отправляет и успешно рапортует об этом, вот получателю чтото не доходит, но как и почему это получается? Я стал комать дальше, и в справке вычитал странный момент для функции приёма данных ReadBlock:
я честно говоря в ступоре, потому что в этой же справке написано, что это блокирующая функция, т.е. она обязательно считает указанную длину, если только не поток не оборвётся. Я правильно понимаю, что она обязательно ждёт данные в буфере, до нужной длины, и только потом считывает нужную строку? или всё таки я ошибаюсь?
0
|
|||||||||||||||||||||||||||||||||||||||||
| 29.07.2023, 18:34 | |
|
Ответы с готовыми решениями:
0
Передача данных при помощи pipe Не работает передача данных с одного компьютера на другой при помощи sendto и recvfrom Прекращается приём и передача данных через модем Yota при включении локальной сети |
| 29.07.2023, 18:34 | |
|
Помогаю со студенческими работами здесь
1
TcpClient-TcpServer приложение. при передаче данных теряются байты Как считать данные из сети при помощи c#? Передача файлов при помощи компонентов ServerSocket и ClientSpcket Создание локальной сети при помощи ADSL модема и свитча При помощи алгоритмов кластеризации выявить нетипичное поведение пользователя в сети Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|