public MainClientHost() { InitializeComponent(); _clientHelper = new TcpClientHelper2(); _clientHelper.OnClientError += (message) => MessageBox.Show(message); _clientHelper.OnPacketReceive += (packet) => { switch (packet.Opcode) { case Opcodes.NotifyAll: { var notifyData = new NotifyData(packet.Data); MessageBox.Show(notifyData.Data); break; } case Opcodes.NotifyApp: { var notifyData = new NotifyData(packet.Data); MessageBox.Show(notifyData.Data); break; } case Opcodes.Invalid: break; default: throw new ArgumentOutOfRangeException(); } }; }
public ClientProcessor() { _clientHelper = new TcpClientHelper2(); _clientHelper.OnClientError += (message) => { _clientHelper.Stop(); _serverAddress = string.Empty; OnMessageShow(message); }; _clientHelper.OnPacketReceive += (packet) => { if (packet.Opcode == Opcodes.Invalid) return; switch (packet.Opcode) { case Opcodes.ServerShutdown: { _clientHelper.Stop(); _serverAddress = string.Empty; OnServerOffline(@"Сервер уведомлений отключен, попробуйте позже соедениться снова."); break; } case Opcodes.NotifyAll: { OnReceiveNotifyAll(packet.Data); break; } case Opcodes.NotifyApp: { OnReceiveNotifyApp(packet.Data); break; } case Opcodes.Invalid: break; default: throw new ArgumentOutOfRangeException(); } }; }