Я внедряю потребительскую модель издателя для связи сокетов UDP. В этом приложении потребители создадут сокет UDP при подписке на события. Каждый пользователь будет иметь разные IP-адрес и порт для отправки данных. Процесс подписки на события является динамическим, и мы можем добавить время работы подписчиков. В моем приложении издатель вызывает событие, когда через некоторое время. Предположим, что в моем приложении в настоящее время у меня 5 подписчиков, поэтому после вызова метода издателем эти данные должны быть отправлены 5 различным подписчикам с использованием их IP и порта. Поскольку у меня есть единственный способ отправки данных в подписчиках, я не получаю, как отправлять данные на разные IP-порты одновременно? Как поддерживать состояния обработчиков событий? Пожалуйста, помогите мне.Модель потребительского издателя для связи сокетов
Здесь я добавляю образец кода.
public class Program
{
public static EventHandler<ListEventArgs> DataSending;
static void Main(string[] args)
{
Class1.CreateNewEvent();
Class1.CreateNewEvent();
Class1.CreateNewEvent();
Class1.CreateNewEvent();
Class1.CreateNewEvent();
OnDataSending("Hello2");
Console.ReadLine();
}
static void OnDataSending(object data)
{
if (DataSending != null)
{
List<string> ss = new List<string>();
ss.Add(IPADDRESS);
ss.Add(PORT);
DataSending(data,new ListEventArgs(ss));
}
}
}
public static class Class1
{
public static void CreateNewEvent()
{
Program.DataSending += new EventHandler<ListEventArgs>(newEvent);
}
static void newEvent(object o, ListEventArgs e)
{
//Code for socket creation and sending data
}
}
Вы должны показать свою работу. –
Помог ли мой ответ? –