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

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

Войти через центр авторизации
Похожие вопросы