Как открыть внешний порт для tcp сервера?

Всем привет, народ :) Помогите мне понять, как открыть порты программно для c# tcp сервера с динамическим IP?

Я нашёл такую реализую, но она не работает (Open.Nat библиотека):
private static async void openPort ()
{
        var discoverer = new NatDiscoverer();
        var cts = new CancellationTokenSource(10000);
        var device = await discoverer.DiscoverDeviceAsync(PortMapper.Upnp, cts);

        await device.CreatePortMapAsync(new Mapping(Protocol.Tcp, 19152, 19152, "DWP"));
}


Есть вариант использовать NAT и по нему как-то данные передавать, но я не до конца понимаю принципы, да и реализация тоже не рабочая :(
  • Вопрос задан
  • 175 просмотров
Решения вопроса 1
@d-stream
Готовые решения - не подаю, но...
Ну в обобщенном случае, если постучаться с компьютера за NAT в адрес xx.xx.xx.xx, то совсем не исключено что ответные стуки от строго того самого xx.xx.xx.xx могут быть донесены NAT до компа.
Но не для всех NAT и не всегда...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Fallenyasha
Не совсем понятно что надо сделать, если просто Tcp сервер, то можно использовать TcpListener
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы