internal void RaiseMessageReceived(byte[] msg, KindMessage kindOfSend) { if (KindOfMessage == KindMessage.Message) { var handler = MessageReceived; if (handler != null) { handler(this, msg, kindOfSend); } } else if (KindOfMessage == KindMessage.ListClientId) { if (isServerSocket) { var handler = MessageReceived; if (handler != null) { handler(this, msg, kindOfSend); } } else { this.RaiseReceivedListClientId(msg.ToListOfInt()); } } else if (KindOfMessage == KindMessage.ServerReady) { } else if (KindOfMessage == KindMessage.ClientId) { this.RaiseReceivedClientId(msg.ToInt()); } }
internal static void SendBytes(this Client client, byte[] msg, KindMessage kind) { try { if (msg == null) { msg = new byte[0]; } var length = msg.Length; if (length > ushort.MaxValue) { throw new ArgumentOutOfRangeException(); } byte[] outMsg; EnvelopeSend(msg, kind, length, out outMsg); lock (client.sendMsg) { client.sendMsg.Enqueue(outMsg); } client.mreBeginSend.SetIfNotNull(); } catch (Exception e) { client.HandleError(e); } }
private void client_MessageReceived(Client client, byte[] msg, KindMessage kindOfSend) { if (msg != null) { HandleNewMsg(Environment.NewLine + Encoding.UTF8.GetString(msg)); } }
internal static void EnvelopeSend(byte[] response, KindMessage kindOfSend, int length, out byte[] outMsg) { outMsg = new byte[length + Const.TotalSizeOfEnvelope]; outMsg[0] = (byte)kindOfSend; Array.Copy(length.ToByte(), 0, outMsg, Const.SizeOfEnvelopeKind, Const.SizeOfEnvelopeLength); Array.Copy(response, 0, outMsg, Const.TotalSizeOfEnvelope, length); }
private void server_MessageReceived(int id, byte[] msg, KindMessage kindOfSend) { if (msg != null) { var text = Encoding.UTF8.GetString(msg); text = string.Format("From Client Id {0}: {1}", id, text); HandleNewMsg(Environment.NewLine + text); if (kindOfSend == KindMessage.Message) { server.SendAll(text); } } }
internal void RaiseMessageReceived(int ClientId, byte[] msg, KindMessage kindOfSend) { if (kindOfSend == KindMessage.Message) { var handler = MessageReceived; if (handler != null) { handler(ClientId, msg, kindOfSend); } } else if (kindOfSend == KindMessage.ListClientId) { GetClient(ClientId).SendBytes(clients.Keys.ToArrayOfByte(), KindMessage.ListClientId); } }
private void state_MessageReceived(Client client, byte[] msg, KindMessage kindOfSend) { RaiseMessageReceived(client.Id, msg, kindOfSend); }
internal void Send(byte[] msg, KindMessage kind) { this.SendBytes(msg, kind); }