using Newtonsoft.Json.Linq; using System.Collections; using System.Collections.Generic; using UnityEngine; using WebSocketSharp; using WebSocketSharp.Server; public class ServerHandlerUI : WebSocketBehavior { protected override void OnClose(CloseEventArgs e) { Debug.Log("断开连接" + e.Reason); ChatRequest.instance.handler = null; } protected override void OnError(ErrorEventArgs e) { Debug.LogError("OnError: }" + e.Message); } protected override void OnOpen() { Debug.Log("连接成功"); ChatRequest.instance.handler = this; } protected override void OnMessage(MessageEventArgs e) { if (e.IsText) { Debug.Log(e.Data); JObject jb = JObject.Parse(e.Data); int id = jb["eventid"].ToObject(); string type = jb["type"].ToString(); if (type == "checkSdk") { string version = jb["data"].ToString(); ResultState isok; string msg = "'"; if (version == ChatRequest.instance.version) { isok = ResultState.SUCCESS; } else { isok = ResultState.FAILED_ERROR; msg = "版本匹配,unity版本为:" + version; } ChatRequest.instance.SendMsgToSDK(id, isok, msg); } else { //进入主线程 ChatRequest.instance.reciveData.Enqueue(jb); } } } public void SendMsg(string msg) { if (State == WebSocketState.Open) { Send(msg); } } }