Я хочу отправить файл на C++ по сети (для программы чата), что мне делать?
отправка файла с помощью C++
Ответы (5)
Взгляните на http://www.boost.org/doc/libs/1_38_0/doc/html/boost_asio/examples.html . Пример Iostreams должен дать вам первый хороший шаг. Asio — портативная сетевая библиотека проекта boost. Boost доступен для большинства платформ, доступных сегодня.
Вы можете передавать файл и передавать его в поток TCP.
Используйте библиотеку FTP с открытым исходным кодом для более надежного приложения. поток для библиотеки с открытым исходным кодом на основе C++.
Это довольно легко. Настройте сокет TCP/IP, а затем разбейте файл на пакеты и отправьте их друг другу. TCP надежен, поэтому все пакеты будут поступать в правильном порядке, и он будет обрабатывать повторную передачу и т. д.
Однако, если вам необходимо использовать ненадежный транспорт (например, UDP), посмотрите stop и подождите (самый простой способ), go-back-n или выборочный повтор (что несколько сложнее, но намного эффективнее).
Вы можете установить прямое соединение между ними и отправить содержимое файла. Для этого одна сторона будет клиентом, а другая отправителем.
Вы можете увидеть простую реализацию здесь.
Вы будете делать то, что называется программированием сокетов. Пожалуйста, обратитесь к Руководству Beej по работе в сети для получения подробной информации и решения вашей проблемы.