// 发送消息注册函数 public Task Emit(string eventName, object obj, ClientCallbackEventHandler callback) { return(Task.Run(() => { if (GetState() == SocketState.Connect) { _Request.Emit(eventName, obj, callback).Wait(); } }, _TokenSource.Token)); }
public Task EmitAsync(string eventName, object obj, ClientCallbackEventHandler callback) { return(Task.Run(() => { if (status == SocketIOState.CONNECTED) { Debug.Log("Socket EmitAsync:" + eventName + " " + obj); socket.emit(eventName, obj, callback).Wait(); } })); }
// 发生信息附带函数 public Task Emit(string eventName, object obj, ClientCallbackEventHandler callback) { return(Task.Run(() => { _PacketId++; string text = JsonConvert.SerializeObject(obj); string packetType = ((int)Protocol.Message).ToString() + ((int)Protocol.Ping).ToString(); _EventTaget.On(_PacketId, callback); Send(Packet.GetMessagePacket(_Mode, packetType, _AbsolutePath, _PacketId, eventName, text)).Wait(); }, _TokenSource.Token)); }
// 调用客户端运程函数事件监听 public void Emit(int packetID, string result) { if (_ClientCallbackEventHandlers.ContainsKey(packetID)) { ClientCallbackEventHandler list = _ClientCallbackEventHandlers[packetID]; if (list != null) { list.Invoke(result); } else { _ClientCallbackEventHandlers.Remove(packetID); } } }
// 远程服务器执行监听 public void On(int packetID, ClientCallbackEventHandler callback) { _ClientCallbackEventHandlers.Remove(packetID); _ClientCallbackEventHandlers.Add(packetID, callback); }