protected override void OnMessage(MessageEventArgs e) { //Loger.Debug(ID+ $"OnMessage{e.Data.Length}:" + e.Data); //Loger.Debug(LZString.Decompress(e.Data)); try { var Json_Data = LZString.DecompressFromUint8Array(e.RawData); var MsgBody = JObject.Parse(Json_Data); var id = MsgBody.GetValue("Id").Value <ushort>(); JObject data = MsgBody.GetValue("Data").Value <JObject>(); IWebSocketSession session; this.Sessions.TryGetSession(ID, out session); GameMainEntry.Instance.WebServerModule.Dispather.Dispatch(session, new MessageInfo_Json(id, data)); /* * OneThreadSynchronizationContext.Instance.Post((obj) => * { * GameMainEntry.Instance.WebServerModule.Dispather.Dispatch(session, new MessageInfo_Json(id, data));//拉到主线程处理 * }, null); */ } catch (Exception ex) { Loger.Error($"{ID} OnMessage:" + ex.ToString()); } base.OnMessage(e); }
public void CompatibilityDecompressUInt8ArrayFromNode(LZStringTestCase test) { var compress = test.CompressedUInt8Array; var uncompress = LZString.DecompressFromUint8Array(compress); Assert.That(uncompress, Is.EqualTo(test.Uncompressed)); }