|
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 50
|
|||||||||||
Сервер TCP21.12.2013, 16:22. Показов 2793. Ответов 20
Метки нет (Все метки)
Задание: Обеспечить перемещение файла по фиксированным частям в несколько открытых соединений по сети. От клиента к серверу. Протокол взаимодействия TCP;
Код клиента: Кликните здесь для просмотра всего текста
Код сервера: Кликните здесь для просмотра всего текста
Проблема в том, что файл исчезает, но не появляется в другой месте. Может кто-нибудь подскажет, что не так? PS: сервер зависает на: AcceptSocket = accept(ListenSocket, NULL, NULL);
0
|
|||||||||||
| 21.12.2013, 16:22 | |
|
Ответы с готовыми решениями:
20
как создать TCP клиент, TCP сервер ? На С++
TCP сервер |
|
Ушел с форума
|
|
| 22.12.2013, 13:16 | |
|
Если файл исчезает, значит код клиента успешно коннектится к серверу,
выполняет весь цикл send и удаляет его. А в коде сервера бросается в глаза неправильное использование функции recv. Она может вернуть байт меньше, чем ожидается. Например, отправили send-ом за один раз 100 байт, а recv вернула сначала 60, потом 27, потом еще 13.
0
|
|
|
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 50
|
|
| 22.12.2013, 13:17 [ТС] | |
|
0
|
|
|
Ушел с форума
|
|
| 22.12.2013, 13:24 | |
|
Вызывать recv в цикле, проверяя возвращаемое значение, пока все
отправленные данные не будут вычитаны.
0
|
|
|
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 50
|
||
| 22.12.2013, 13:41 [ТС] | ||
|
0
|
||
|
Ушел с форума
|
|
| 22.12.2013, 13:58 | |
|
О первом.
Хотя проверять, что возвращает recv (и другие функции) нужно всегда.
0
|
|
|
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 50
|
|
| 22.12.2013, 14:00 [ТС] | |
|
0
|
|
|
Ушел с форума
|
||||||
| 22.12.2013, 14:29 | ||||||
|
Паттерн работы с функцией recv такой:
0
|
||||||
| 22.12.2013, 15:10 | |
|
0
|
|
| 22.12.2013, 15:55 | |
|
2
|
|
| 22.12.2013, 16:03 | |
|
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|||
| 24.12.2013, 12:32 | |||
|
1
|
|||
|
Модератор
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
|
|||
| 24.12.2013, 12:44 | |||
|
0
|
|||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|||
| 24.12.2013, 13:09 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 50
|
|
| 24.12.2013, 14:56 [ТС] | |
|
Этот код работает на Win8.1, но не работает на Win7
0
|
|
|
Ушел с форума
|
|
| 24.12.2013, 15:52 | |
|
Этот - это какой ?
0
|
|
|
Модератор
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,461
|
|||
| 24.12.2013, 16:45 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 50
|
||
| 24.12.2013, 18:22 [ТС] | ||
|
0
|
||
| 24.12.2013, 18:48 | |||
|
Не по теме:
0
|
|||
|
Ушел с форума
|
|||
| 24.12.2013, 19:03 | |||
|
Fighter215, как это:
0
|
|||
| 24.12.2013, 19:03 | |
|
Помогаю со студенческими работами здесь
20
Tcp Сервер сервер TCP/IP TCP/IP клиент и сервер TCP сервер и клиент TCP клиент-сервер Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|