У меня проблемы с попыткой обработать событие, которое я создал. Я пытаюсь использовать WebSockets, и когда я получаю сообщение, я хочу вызвать событие, на которое может подписаться одна из моих форм.
В моем событии Form_Load. У меня есть:
taskRoutingServer = new Core.WebSocketServerWrapper();
taskRoutingServer.MessageReceivedEvent +=
TaskRoutingServer_MessageReceivedEvent1;
Метод в моей форме выглядит так:
private void TaskRoutingServer_MessageReceivedEvent1(object sender, WebSocketSharp.MessageEventArgs e)
{
throw new NotImplementedException();
}
Я намерен работать с 'e', который будет содержать данные, с которыми моя форма должна работать. Класс WebSocket у меня выглядит следующим образом:
public class WebSocketServerWrapper : WebSocketBehavior
{
private WebSocketServer socketServer;
public delegate void MessageReceivedEventHandler(object sender, MessageEventArgs e);
public event MessageReceivedEventHandler MessageReceivedEvent;
public string creator;
public WebSocketServerWrapper()
{
socketServer = new WebSocketServer("ws://localhost:9001");
socketServer.AddWebSocketService<WebSocketServerWrapper>("/ws");
}
public bool IsListening()
{
return socketServer.IsListening;
}
public void StartListening()
{
socketServer.Start();
}
public void StopListening()
{
socketServer.Stop();
}
protected override void OnMessage(MessageEventArgs e)
{
//invoke event
MessageReceivedEvent?.Invoke(this, e);
}
}
В настоящее время поведение OnMessage
срабатывает, но MessageReceivedEvent
имеет значение null, поэтому событие не вызывается. Как мне правильно обработать это событие?