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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2012, 12:19   #1
Ramirag
Пользователь
 
Регистрация: 02.12.2009
Сообщений: 26
По умолчанию UDPListener

У меня такая вот проблема
Код:
public UDPClient()
{
    try
    {
        lg = new Log("Test project, Receive part");
        IPEndPoint IPEP = new IPEndPoint(IPAddress.Any, port);
        UdpClient udpClient = new UdpClient(IPEP);
        udpClient.BeginReceive(new AsyncCallback(UDPReceive_CallBack), udpClient);
    }
    catch (Exception ex)
    {
        lg.Add("UDPClient \r\n" + ex, 1);
    }
}

private void UDPReceive_CallBack(IAsyncResult ar)
{
    try
    {
        UdpClient udpClient = (UdpClient)ar.AsyncState;
        IPEndPoint IP = null;
        udpClient.EndReceive(ar, ref IP);
        udpClient.BeginReceive(new AsyncCallback(UDPReceive_CallBack), udpClient);
        lg.Add("Что то принял", 2);
    }
    catch (Exception ex)
    {
        lg.Add("UDPReceive_CallBack \r\n" + ex, 1);
    }
}
Если я принимаю пакеты таким образом, то все те пакеты, что приходят в промежуток между вызовами команд
udpClient.BeginReceive(new AsyncCallback(UDPReceive_CallBack), udpClient);
никак не обрабатывается. Нету ли аналога TCPListener, для UDP? Или может это ещё как то можно решить. Запускать в цикле несколько десятков тысяч слушателей не айс
Ramirag вне форума Ответить с цитированием
Ответ


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