Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.01.2015, 21:35   #1
Vad_OS
Новичок
Джуниор
 
Регистрация: 03.01.2015
Сообщений: 1
По умолчанию UDP клиент за NAT (с использованием STUN сервера)

Следующий код запускается за Nat-ом:



Код:
using LumiSoft.Net.STUN.Client;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace LumiStunTest
{
    public partial class Form1 : Form
    {
        UdpClient client;
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            client = new UdpClient(564);
            client.AllowNatTraversal(true);
            STUN_Result result = STUN_Client.Query("stun.l.google.com", 19302, client.Client);
            label1.Text = result.NetType.ToString();
            textBox1.Text += "\r\n" + string.Format("{0}:{1}", result.PublicEndPoint.Address.ToString(), result.PublicEndPoint.Port);
            recv();
        }
 
        async void recv()
        {
            while (true)
            {
                UdpReceiveResult res = await client.ReceiveAsync();
                textBox2.Text = ASCIIEncoding.ASCII.GetString(res.Buffer) + "\r\n" + textBox2.Text;
                client.Send(res.Buffer, res.Buffer.Length);
            }
        }
    }
}
Определяется внешний IP и порт(Использовал библиотеку LumiSoft.Net). Но данные посланные снаружи не приходят на открытый порт.
Тип Nat-a определяется как FullCone



Код:
label1.Text = result.NetType.ToString()
Провайдер МГТС, роутер - HUAWEI HG8245 (если поможет).

В чем может быть причина?
Vad_OS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Клиент, Сервер через NAT Halogen Работа с сетью в Delphi 1 01.12.2014 10:58
Осуществить взаимодействие клиента и сервера на основе протокола UDP Ladis Помощь студентам 0 04.03.2014 00:57
Как считать данные от сервера UDP lavrik0000 C/C++ Сетевое программирование 3 25.06.2013 01:04
UDP клиент на Synapse. Как? Человек_Борща Работа с сетью в Delphi 1 04.09.2012 20:32
UDP клиент-сервер. Пакет neon2k Общие вопросы .NET 1 27.06.2010 11:53