J
J
jpdivinewind2018-06-29 00:21:44
C++ / C#
jpdivinewind, 2018-06-29 00:21:44

How to establish a p2p connection between two clients, and what is needed for this?

Что имею:
Есть простенькая игрушка на C+Lua.
Есть Heroku, и умение в node.js
Чего хочется:
Организовать прямое соединение между двумя игроками.
В идеале - один игрок коннектится к моему серверу на ноде, потом коннектится второй игрок, выбирает первого, нода (с помощью сетевой магии) создаёт p2p соединение между двумя игроками и обрывает с ними связь.
Правда, не уверен что это именно так должно работать (почему и пишу тут)
Вопросы:
* Можно ли установить открыть p2p сокеты между двумя пользователями?
* Можно ли это реализовать с помощью сервера на ноде? (всегда рад немного на си пару строк черкануть, если нужно)
* Что еще для этого потребуется?
I would like to get more literature on this topic, in order to understand where to look. I'm more on the desktop, and I understand networks at a basic level. So if there is a desire and an opportunity to describe a more detailed answer - I will be very grateful!

Answer the question

In order to leave comments, you need to log in

1 answer(s)
P
PrAw, 2018-06-29
@jpdivinewind

Начните с изучения работы NAT. Проблема - между участник 1 и участник 2 в памяти их маршрутизаторов нет готовой Nat цепочки, так что маршрутер отбросит попытку соединения.
Задача сводится к пробитию NAT снаружи в автоматическом режиме. Изучайте понятия, связанные с UPnP, NAT, NAT traversal, STUN, TURN
Много головной боли на эту тему было у IP телефонистов, так что многие их рецепты сгодятся и Вам.
Первая попавшаяся статья
https://voipnotes.ru/nat-potocol-turn-rsip-ice/

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question