public static void Send <T>(Session session, T obj, bool needmask = false) where T : class { if (session != null) { WebMessage msg = new WebMessage(); if (obj is Byte[]) { msg.MessageType = MSG_TYPE_BINARY; msg.RawContent = obj as byte[]; msg.ContentSize = msg.RawContent.Length; } else if (obj is String) { msg.MessageType = MSG_TYPE_STRING; msg.MessageContent = obj as string; msg.ContentSize = msg.MessageContent.Length; } else { msg.MessageType = MSG_TYPE_STRING; msg.FromJsonObject <T>(obj); msg.ContentSize = msg.MessageContent.Length; } msg.MaskFlag = needmask ? (byte)1 : (byte)0; session.Send(msg); } }