Прежде всего, не для этого использует UDP.TCP был разработан для того, что вам нужно, и многое уже делает сам.От вашего POV TCP-соединения всегда будут как-то работать, в то время как с UDP вам придется позаботиться о последовательности пакетов, пропусках пакетов и т. Д. Например, для передачи изображения требуется 3 пакета, UDP выполняет , а не * 1004.* Гарантируйте, что все 3 пакета будут доставлены в пункт назначения, и если они это сделают, это не гарантирует, что они прибудут в том же порядке, который вы отправили.
Теперь для TCP восстанавливаем новое соединениедля каждого файла можно было бы сделать, да, но это не обязательно.В идеале ваш код должен проверить, установлено ли соединение, если нет, переподключиться.Теперь, почему передается только 1-й файл, я не могу догадаться, почему, так как это, скорее всего, связано с вашей реализацией (т.е. я не вижу код через мой хрустальный шар, он должен быть незаряженным или что-то в этом роде ;-)).Но дело в том, что это, безусловно, , а не из-за каких-либо ограничений TCP или Boost :: ASIO.