Библиотека для передачи файлов
От: mangaman  
Дата: 11.01.19 20:15
Оценка:
Вопрос чайника

Есть сервер(мой) с общедоступным адресом ( типа https://myserver.ru ). Есть клиентские программы на С++. Нужно иметь возможность передать файл по сети из одного клиента на другой напрямую, не гоняя всю инфу через соединение с сервером. Клиентские машины могут быть за NAT, в каких-то корпоративных сетях, для которых другой клиент будет вне этой сети. Качать файл через соединение с центральным сервером должно быть крайним случаем.

Как организовать прямой коннект между клиентами? Есть ли что-то готовое и работающее на С++? Платформы мак-вин-линух. По идее еще будет андроид.
Re: Библиотека для передачи файлов
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 11.01.19 20:30
Оценка:
Здравствуйте, mangaman, Вы писали:

M>Вопрос чайника


M>Есть сервер(мой) с общедоступным адресом ( типа https://myserver.ru ). Есть клиентские программы на С++. Нужно иметь возможность передать файл по сети из одного клиента на другой напрямую, не гоняя всю инфу через соединение с сервером. Клиентские машины могут быть за NAT, в каких-то корпоративных сетях, для которых другой клиент будет вне этой сети. Качать файл через соединение с центральным сервером должно быть крайним случаем.


M>Как организовать прямой коннект между клиентами? Есть ли что-то готовое и работающее на С++? Платформы мак-вин-линух. По идее еще будет андроид.


Берем любою либу для торрента, и ...

Не оно?
Маньяк Робокряк колесит по городу
Re: Библиотека для передачи файлов
От: Слава  
Дата: 11.01.19 20:33
Оценка:
Здравствуйте, mangaman, Вы писали:

M>Как организовать прямой коннект между клиентами? Есть ли что-то готовое и работающее на С++? Платформы мак-вин-линух. По идее еще будет андроид.


Попробуйте модифицировать syncthing
https://github.com/syncthing/syncthing

Написано оно (к счастью) не на C++, но вы вполне сможете запускать отдельный процесс и общаться с ним через stdin/stdout
Re: Библиотека для передачи файлов
От: LuciferSaratov Россия  
Дата: 11.01.19 22:16
Оценка:
Используй raknet
Оно умеет надежную доставку через UDP и nat punch through при помощи своего сервера вне ната — как раз его и захостишь.

http://www.raknet.net/raknet/manual/natpunchthrough.html
Отредактировано 11.01.2019 22:17 LuciferSaratov . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.