private void NhanTinNhan(object obj) { var client = (MayKhach)obj; try { while (true) { var data = client.Receive(); var messager = TryConvertObject.SwithToMessager(data); var processor = new SeverMessageProcessor(client, clientManager); messager.Accept(processor); foreach (var item in processor.ListReiceveMassager) { if (item.Client != null) { SendToClient(item.Client as MayKhach, item); } else { SendToClient(client, item); } } } } catch (Exception) { Console.WriteLine("exception : client close " + client.TenMay); clientManager.Remove(client); } }
private void WaitMessage() { try { while (true) { var data = new byte[1024]; client.Receive(data); var mesage = TryConvertObject.SwithToMessager(data); foreach (var item in Processor) { mesage.Accept(item); } } } catch (Exception) { client.Close(); } }
public void Send(MessageBaser message) { var data = TryConvertObject.SwithToBinnary(message); this.client.Send(data); }
private void SendToClient(MayKhach client, MessageBase message) { client.Send(TryConvertObject.SwithToBinnary(message)); }