private void CharCreation_OnMessageReceived(MessageSubscription<PlayerCreationEventArgs> s, MessageReceivedEventArgs<PlayerCreationEventArgs> args) { if (args.Message.IsDealer == false) { this.gameObject.SetActive(false); } }
public void MessageNotifyAsunc(MessageReceivedEventArgs e) { if (Handler != null) { var t = (MulticastDelegate)Handler; object param = null; try // Десериализуем если есть данные, если ошибка, значит неверный формат { if (e.MessageData != null && e.MessageData.Length > 0) param = SerializeHelper.DeserializeFromBytes(e.MessageData, DataType); else e.IsError = IsRequired; } catch (Exception ex) { e.IsError = true; } t.DynamicInvoke(e, param); //try // Вызываем обработчик (на его внутренние ошибки нам пофиг) (хотя try - тут не нужен) //{ // t.DynamicInvoke(e, param); //} //catch (Exception ex) { } } }
private void PlayerLoadedReceived(MessageReceivedEventArgs ev) { PlayerLoadedMessage message = (PlayerLoadedMessage) ev.Message; NetworkPlayer player = this.players.GetPlayers ().Where (p => p.NetworkID == message.NetworkID).FirstOrDefault (); if(player == null) return; PlayerInfoMessage infomsg = new PlayerInfoMessage () { NetworkID = player.NetworkID, Name = player.Character.Name, Animation = player.Character.Animation, Moving = player.Character.Moving, TileSheet = player.Character.TileSheet, Location = new Point (player.Character.Location.IntX, player.Character.Location.IntY), WorldName = player.Character.WorldName }; foreach(NetworkPlayer destPlayer in this.players.GetPlayers ()) { if(destPlayer.Connection != player.Connection) destPlayer.Connection.Send (infomsg); } }
void MessageReceived_TIGGC(object sender, MessageReceivedEventArgs e) { if (String.Compare(e.Message.Command, "TIGGC", true) != 0) return; Int64 memUsage = GC.GetTotalMemory(false); GC.Collect(); CurrentSession.SendTwitterGatewayServerMessage(String.Format("Garbage Collect: {0:###,##0} bytes -> {1:###,##0} bytes", memUsage, GC.GetTotalMemory(false))); }
protected void OnMessageReceived(object sender, MessageReceivedEventArgs e) { if (MessageReceived != null) { MessageReceived(this, e); } }
private void LoginRequestReceived(MessageReceivedEventArgs ev) { var msg = (LoginMessage)ev.Message; ISession session = this.sessionfactory.OpenSession (); Account account = session.CreateCriteria<Account>() .Add(Restrictions.InsensitiveLike("Username", msg.Username )) .Add(Restrictions.Eq("Password", msg.Password )) .List<Account>().FirstOrDefault(); if (account == null || this.players.ContainsPlayer((uint)account.ID)) { ev.Connection.Send (new LoginFailedMessage (ConnectionRejectedReason.BadLogin)); return; } Character character = session.CreateCriteria<Character> () .Add(Restrictions.Eq("AccountID", account.ID)) .List<Character>().FirstOrDefault(); character.Location = new ScreenPoint(character.MapX * 32, character.MapY * 32); character.Animation = Enum.GetName (typeof(Directions), character.Direction); character.NextMoveActive = true; // Create player NetworkPlayer player = new NetworkPlayer(); player.Character = character; player.AccountID = account.ID; //player.NetworkID = ++networkid; player.NetworkID = (uint) account.ID; player.Character.NetworkID = player.NetworkID; player.Connection = ev.Connection; player.Character.MapChunkName = this.GetChunkName(player.Character.WorldName, player.Character.MapLocation); player.State = PlayerState.LoggedIn; // Add to the list of players in the servers memory this.players.AddPlayer(player); // Send them authentication ID player.Connection.Send(new LoginSuccessMessage () { NetworkIDAssigned = player.NetworkID }); var handler = this.UserLoggedIn; if(handler != null) handler(this, new UserEventArgs(player)); // Update other players var updatemsg = new PlayerUpdateMessage () { CharacterName = player.Character.Name, NetworkID = player.NetworkID, Action = PlayerUpdateAction.Add }; foreach (var tmp in this.players.GetPlayers()) tmp.Connection.Send(updatemsg); session.Close (); }
void CharCreation_OnMessageReceived(MessageSubscription<PlayerCreationEventArgs> s, MessageReceivedEventArgs<PlayerCreationEventArgs> args) { if (!args.Message.IsDealer) { this.InventoryCanvas.SetActive(false); this.gameObject.SetActive(false); } }
protected virtual void OnMessageReceived(MessageReceivedEventArgs e) { EventHandler<MessageReceivedEventArgs> handler = MessageReceived; if (handler != null) { handler(this, e); } }
private void ClientEventRequestReceived(MessageReceivedEventArgs ev) { var message = (ClientEventRequestMessage) ev.Message; var player = this.players.GetPlayer (message.NetworkID); TestScript script = new TestScript (); script.Trigger (player); }
void fileWatcher_Created(object sender, FileSystemEventArgs e) { FSWMessage msg = new FSWMessage(e); MessageReceivedEventArgs args = new MessageReceivedEventArgs(msg); if (MessageReceived != null) { MessageReceived(this, args); } }
private void ClientConnected(MessageReceivedEventArgs ev) { var msg = (ConnectMessage)ev.Message; if (msg.Version < this.MinimumVersion) { ev.Connection.Send (new ConnectionRejectedMessage () { Reason = ConnectionRejectedReason.IncompatableVersion }); this.Disconnect(ev.Connection); } }
void networkingManager_MessageReceived(object sender, MessageReceivedEventArgs e) { switch (e.Message.Type) { case NetworkMessage.MessageType.ServerGameState: if ((string)e.Message.Content == "Lobby") { hasEnded = true; } break; } }
private static void OnMessageReceived(object sender,MessageReceivedEventArgs e) { var client = (WebSocketClient)sender; Console.WriteLine("Received by [{0}]",((IPEndPoint)client.Socket.RemoteEndPoint).ToString()); var received_msg = Encoding.UTF8.GetString(e.DecodedMessage); Console.WriteLine("Received message: {0}",received_msg); var msg = new WebSocketMessage(); msg.Append(received_msg); client.SendMessage(msg); }
private void FahClientMessageReceived(object sender, MessageReceivedEventArgs e) { AppendToMessageDisplayTextBox(String.Empty); AppendToMessageDisplayTextBox(e.JsonMessage.ToString()); for (var slotCollection = e.TypedMessage as SlotCollection; slotCollection != null; slotCollection = null) { foreach (var slot in slotCollection) { _fahClient.SendCommand("slot-options " + slot.Id + " client-type client-subtype cpu-usage machine-id max-packet-size core-priority next-unit-percentage max-units checkpoint pause-on-start gpu-index gpu-usage"); _fahClient.SendCommand("simulation-info " + slot.Id); } } }
private void ClientMovementMessageReceived(MessageReceivedEventArgs ev) { ClientMovementMessage message = (ClientMovementMessage) ev.Message; NetworkPlayer player = this.players.GetPlayer (message.NetworkID); if(player == null) return; // Must have gotten disconnected Directions direction = (Directions) message.Direction; player.Character.MovementQueue.Enqueue (new MovementInfo (new ScreenPoint (message.X, message.Y), direction, MovementStage.EndMovement, MovementType.Destination, message.Animation)); if(!this.movement.ContainsCharacter (player.Character)) this.movement.AddToProvider (player.Character); }
public object RunSync(MessageReceivedEventArgs e) { object obj = null; try { if (InputType != typeof(void)) obj = SerializeHelper.DeserializeFromBytes(e.MessageData, InputType); } catch (Exception ex) { throw new ParamParseException(ex); } var t = (MulticastDelegate)Handler; object result = (InputType != typeof(void)) ? t.DynamicInvoke(e, obj) : t.DynamicInvoke(e); return result; }
void networkingManager_MessageReceived(object sender, MessageReceivedEventArgs e) { switch (e.Message.Type) { case NetworkMessage.MessageType.ServerGameState: if ((string)e.Message.Content == "Game") { startGame = true; } break; case NetworkMessage.MessageType.ServerGameResults: rankings = (List<KeyValuePair<string, int>>)e.Message.Content; updateRanking = true; break; } }
internal void SetResponse(MessageReceivedEventArgs e) { object param = null; try { if (e.MessageData != null && e.MessageData.Length > 0) param = SerializeHelper.DeserializeFromBytes(e.MessageData, ResultType); else e.IsError = IsRequired; } catch (Exception ex) { IsError = true; Exception = new InvalidCastException("Ошибка разбора результата, или результат имеет тип отличный от указанного.", ex); } Result = param; IsResponse = true; Wait.Set(); }
void OnMessageReceived(object sender, MessageReceivedEventArgs e) { switch (e.Message.Cmd) { case MessageType.GatewayInputsUpdate: if (GatewayInputsUpdate != null) GatewayInputsUpdate(sender, new MessageReceivedEventArgs(e.Message)); break; case MessageType.GatewayOutputsSet: if (GatewayOutputsSet != null) GatewayOutputsSet(sender, new MessageReceivedEventArgs(e.Message)); break; case MessageType.MPSControllerLoadLocations: if (MPSControllerLoadLocations != null) MPSControllerLoadLocations(sender, new MessageReceivedEventArgs(e.Message)); break; case MessageType.MPSControllerProcess: if (MPSControllerProcess != null) MPSControllerProcess(sender, new MessageReceivedEventArgs(e.Message)); break; case MessageType.MPSControllerProcessComplete: if (MPSControllerProcessComplete != null) MPSControllerProcessComplete(sender, new MessageReceivedEventArgs(e.Message)); break; case MessageType.MPSControllerSuccess: if (MPSControllerSuccess != null) MPSControllerSuccess(sender, new MessageReceivedEventArgs(e.Message)); break; case MessageType.MPSControllerFailure: if (MPSControllerFailure != null) MPSControllerFailure(sender, new MessageReceivedEventArgs(e.Message)); break; case MessageType.TagRead: if (ReadTag != null) ReadTag(sender, new MessageReceivedEventArgs(e.Message)); break; case MessageType.TagWrite: if (WriteTag != null) WriteTag(sender, new MessageReceivedEventArgs(e.Message)); break; case MessageType.TagUpload: if (TagUpload != null) TagUpload(sender, new MessageReceivedEventArgs(e.Message)); break; case MessageType.TagEventSubscribe: if (TagEventSubscribe != null) TagEventSubscribe(sender, new MessageReceivedEventArgs(e.Message)); break; case MessageType.TagEventUnsubscribe: if (TagEventUnsubscribe != null) TagEventUnsubscribe(sender, new MessageReceivedEventArgs(e.Message)); break; } }
private void PlayerRequestReceived(MessageReceivedEventArgs ev) { var msg = (PlayerRequestMessage) ev.Message; NetworkPlayer player = this.players.GetPlayers ().Where (p => p.NetworkID == msg.RequestedPlayerNetworkID).FirstOrDefault (); if(player == null) return; PlayerInfoMessage infomsg = new PlayerInfoMessage () { NetworkID = player.NetworkID, Name = player.Character.Name, Animation = player.Character.Animation, Moving = player.Character.Moving, TileSheet = player.Character.TileSheet, Location = new Point (player.Character.Location.IntX, player.Character.Location.IntY), WorldName = player.Character.WorldName }; ev.Connection.Send (infomsg); }
internal void RunVoidAsync(MessageReceivedEventArgs e) { try { var t = (Delegate)Handler; object obj = null; try { obj = SerializeHelper.DeserializeFromBytes(e.MessageData, InputType); } catch (Exception ex) { throw new ParamParseException(ex); } Task.Run(() => { t.DynamicInvoke(e, obj); }); } catch (Exception ex) { } }
private void PlayersRequestReceived(MessageReceivedEventArgs ev) { // Get the player, figure out which players are around, and send send those players var playerlist = this.players.GetPlayers (); foreach(NetworkPlayer player in playerlist) { if(player.Connection == ev.Connection) continue; PlayerInfoMessage infomsg = new PlayerInfoMessage () { NetworkID = player.NetworkID, Name = player.Character.Name, Animation = player.Character.Animation, Moving = player.Character.Moving, TileSheet = player.Character.TileSheet, Location = new Point (player.Character.Location.IntX, player.Character.Location.IntY), WorldName = player.Character.WorldName }; ev.Connection.Send (infomsg); } }
private void websocket_MessageReceived(object sender, MessageReceivedEventArgs e) { Console.WriteLine("Mengirim data: " + e.Message); lastMessageReceived = e.Message; messageReceiveEvent.Set(); }
private async void Transport_MessageReceived(object sender, MessageReceivedEventArgs e) => await _callbackQueue.Enqueue(() => ProcessMessage(e)).ConfigureAwait(false);
protected virtual void PublishMessageReceived(ChannelBase sender, MessageReceivedEventArgs eventArgs) { eventArgs.SessionId = this.sessionId; OnMessageReceived?.Invoke(sender, eventArgs); }
private void OnMessageReceived(MessageReceivedEventArgs e) { this.MessageReceived?.Invoke(this, e); }
public static void mesajgeldi(object sender, MessageReceivedEventArgs args) // mesaj geldi eventi { Handler.komuthandle(args.Data, args.Metadata); }
/// <summary> /// socket消息接收处理 /// </summary> /// <param name="e"></param> void OnOnlineMessageReceived(MessageReceivedEventArgs e) { var tuple0 = (Tuple <string, object>)e.Protocol.Content; switch (tuple0.Item1) { case "message": Dispatcher.Invoke(delegate { label1.Text += (string)tuple0.Item2 + "\n"; label1.ScrollToEnd(); }); break; case "file_return": switch ((string)tuple0.Item2) { case "succeed": MessageBox.Show("上传文件成功"); break; case "File not Exits": MessageBox.Show("未找到文件"); break; default: MessageBox.Show("失败"); break; } break; case "cmd_return": if ((string)tuple0.Item2 == "success") { type = false; Dispatcher.Invoke(delegate { label1.Text += "成功切换至命令行模式\n"; label1.ScrollToEnd(); }); } break; case "chat_return": if ((string)tuple0.Item2 == "success") { type = false; Dispatcher.Invoke(delegate { label1.Text += "成功切换至聊天模式\n"; label1.ScrollToEnd(); }); } break; case "cmd_text": Dispatcher.Invoke(delegate { label1.Text += (string)tuple0.Item2 + "\n"; label1.ScrollToEnd(); }); break; default: var tuple = (byte[])tuple0.Item2; string path = (string)tuple0.Item1; var filestream = new FileStream(path, FileMode.Create); filestream.Write(tuple, 0, tuple.Length); filestream.Close(); MessageBox.Show("下载文件成功"); break; } }
private void WSClient_MessageReceived(object sender, MessageReceivedEventArgs e) { Logger.DumpLog(e.Message, -1); if (e.Message == "3probe") { WSClient.Send("5"); long tmpid = this.id++; Requests.Add(tmpid, ReqType.balance); WSClient.Send("42" + tmpid + "[\"access_token_data\",{\"access_token\":\"" + accesstoken + "\"}]"); tmpid = this.id++; Thread.Sleep(200); Requests.Add(tmpid, ReqType.hash); WSClient.Send("42" + tmpid + "[\"get_hash\"]"); FinishedLogin = true; } else if (e.Message == "3") { } else { try { string response = e.Message; response = response.Substring(2); string id = response.Substring(0, response.IndexOf("[")); long lid = 0; if (long.TryParse(id, out lid)) { if (Requests.ContainsKey(lid)) { ReqType tmp = Requests[lid]; Requests.Remove(lid); switch (tmp) { case ReqType.balance: response = response.Substring(response.IndexOf("{")); response = response.Substring(0, response.LastIndexOf("}") + 1); ProcessBalance(response); break; case ReqType.hash: response = response.Substring(response.IndexOf("\"") + 1); response = response.Substring(0, response.LastIndexOf("\"")); ProcessHash(response); break; case ReqType.bet: if (response.IndexOf("{") >= 0) { response = response.Substring(response.IndexOf("{")); response = response.Substring(0, response.LastIndexOf("}") + 1); ProcessBet(response); } else { //Parent.updateStatus(response); if (response.Contains("HASH ERROR") || response.Contains("HASH NOT FOUND")) { long tmpid = this.id++; Requests.Add(tmpid, ReqType.balance); WSClient.Send("42" + tmpid + "[\"get_hash\"]"); } else if (response.Contains("balance too low")) { callError("balance too low", false, ErrorType.BalanceTooLow); } else if (response.Contains("wager too low")) { callError("wager too low", false, ErrorType.BetTooLow); } else //if (response.Contains("bet profit too low")) { callError(response, false, ErrorType.InvalidBet); } } break; case ReqType.tip: if (e.Message.Contains("SENT")) { callTipFinished(true, ""); } else { callTipFinished(false, e.Message); callError(e.Message, false, ErrorType.Tip); } break; } } } } catch (Exception ex) { Logger.DumpLog(ex); } } }
public void Connection_Socket_MessageReceived(object send, MessageReceivedEventArgs e) { object Obj; if (SimpleJson.SimpleJson.TryDeserializeObject(e.Message, out Obj)) { JsonObject Message = (JsonObject)Obj; if (!Message.ContainsKey("type")) return; switch (Message["type"].ToString()) { case "registered": int id = Convert.ToInt32(Message["player_id"]); if (id >= PlayerNames.Length) Array.Resize(ref PlayerNames, id + 1); PlayerNames[id] = Message["player_name"].ToString(); if (Message["player_name"].ToString() == PlayerName) { Array.Resize(ref myIDs, myIDs.Length + 1); myIDs[myIDs.Length - 1] = id; } Invoke((MethodInvoker)delegate { StatLabel.Text = PlayerNames[PlayerNames.Length - 1] + " joined. Waiting for start signal"; }); string ContentPackDir = Message["content_pack"].ToString(); MainForm.Theme = ContentPackDir; //if (!Directory.Exists(@".\" + ContentPackDir)) //{ // string Host = Connection.ContentPackHost + "/" + ContentPackDir + ".zip"; // WebClient c = new WebClient(); // c.DownloadFile(Host, @".\" + ContentPackDir + ".zip"); // System.IO.Compression.ZipFile.ExtractToDirectory(@".\" + ContentPackDir + ".zip", @".\" + ContentPackDir); // File.Delete(@".\" + ContentPackDir + ".zip"); //} break; case "game_created": Connection.GameID = Message["game_id"].ToString(); Invoke((MethodInvoker)delegate { StartButton.Enabled = true; }); break; case "next": PleaseCloseForm = true; break; case "pack_list": JsonArray Themes = (JsonArray)Message["packs"]; SubInitForm = new ThemeForm(Themes); SubInitForm.ShowDialog(); JsonObject Answer = new JsonObject(); Answer.Add("type", "new_game"); Answer.Add("content_pack", (SubInitForm as ThemeForm).Theme); Connection.Send(Answer); break; } } }
#pragma warning disable 1998 async Task HandleMessageReceived(MessageReceivedEventArgs e) #pragma warning restore 1998 { // purge old pending claims (avoids memory leak) foreach (var id in _pendingClaims.Keys) { if (_pendingClaims.TryGetValue(id, out var claim) && claim.CreatedTime.AddMinutes(1) < DateTime.Now) { _pendingClaims.TryRemove(id, out _); } } foreach (var id in _pendingKakeraClaims.Keys) { if (_pendingKakeraClaims.TryGetValue(id, out var claim) && claim.CreatedTime.AddMinutes(1) < DateTime.Now) { _pendingKakeraClaims.TryRemove(id, out _); } } var options = _options.CurrentValue; // enabled, message author is mudae, channel is configured, embed exists if (!options.Enabled || !(e.Message is IUserMessage message && _userFilter.IsMudae(message.Author)) || _channelList.CurrentValue.Items.All(x => x.Id != message.ChannelId) || message.Embeds.Count == 0) { return; } var stopwatch = Stopwatch.StartNew(); var channel = (IMessageChannel)e.Client.GetChannel(message.ChannelId); var guild = channel is IGuildChannel gc?e.Client.GetGuild(gc.GuildId) : null; var logPlace = $"channel '{channel.Name}' ({channel.Id}, server '{guild?.Name}')"; var embed = message.Embeds[0]; var description = embed.Description.Split('\n', StringSplitOptions.RemoveEmptyEntries); var character = new CharacterInfo(embed.Author.Name, description[0]); // ignore $im messages if (!options.BypassImCheck && description.Any(l => l.StartsWith("claims:", StringComparison.OrdinalIgnoreCase) || l.StartsWith("likes:", StringComparison.OrdinalIgnoreCase))) { return; } _logger.LogDebug($"Detected character '{character}' in {logPlace}."); _pendingKakeraClaims[message.Id] = new PendingClaim(logPlace, channel, message, character, stopwatch); // ignore already claimed if (embed.Footer?.Text.StartsWith("belongs", StringComparison.OrdinalIgnoreCase) == true) { return; } var wishedBy = message.Content.StartsWith("wished by", StringComparison.OrdinalIgnoreCase) ? message.GetUserIds().ToArray() : null; // must be wished or included in a user wishlist if (!_characterFilter.IsWished(character, wishedBy)) { _logger.LogInformation($"Ignoring character '{character}' in {logPlace} because they are not wished."); return; } // check cooldown var state = _states.GetOrAdd(channel.Id, new ClaimState()); var now = DateTime.Now; if (!options.IgnoreCooldown && now < state.CooldownResetTime) { _logger.LogWarning($"Ignoring character '{character}' in {logPlace} because of cooldown. Cooldown finishes in {state.CooldownResetTime - now}."); return; } _logger.LogWarning($"Attempting to claim character '{character}' in {logPlace}..."); _pendingClaims[message.Id] = new PendingClaim(logPlace, channel, message, character, stopwatch); }
private void NotificationsOnServerMessageReceived(object sender, MessageReceivedEventArgs e) { Execute(MessageTarget.Server, e); }
protected abstract void Invoking(MessageReceivedEventArgs e, ComplexMessage elements = null);
/// <summary> /// This method handles received messages from other applications via DotNetMQ. /// </summary> /// <param name="sender"></param> /// <param name="e">Message parameters</param> private void Manager_MessageReceived(object sender, MessageReceivedEventArgs e) { // Get message var Message = e.Message; try { // Get message data var MsgData = GeneralHelper.DeserializeObject(Message.MessageData) as MsgData; switch (MsgData.MsgCode) { case MsgCodes.ConnectSubscriber: ConnectSubscriber(Message); break; case MsgCodes.DisconnectSubscriber: DisconnectSubscriber(Message); break; case MsgCodes.SubscribeProperty: SubscribeProperty(Message); break; case MsgCodes.SubscribeProperties: SubscribeProperties(Message); break; case MsgCodes.RemoveProperty: RemoveProperty(Message); break; case MsgCodes.RemoveProperties: RemoveProperties(Message); break; case MsgCodes.PLCTagsChanged: PLCTagsChanged(Message); break; case MsgCodes.PLCTagChanged: PLCTagChanged(Message); break; case MsgCodes.ResultSubscribePLCTag: /* Da Implementare */ break; case MsgCodes.ResultSubscribePLCTags: /* Da Implementare */ break; case MsgCodes.ResultRemovePLCTag: /* Da Implementare */ break; case MsgCodes.ResultRemovePLCTags: /* Da Implementare */ break; case MsgCodes.ResultStartCheckPLCTags: /* Da Implementare */ break; case MsgCodes.ResultStopCheckPLCTags: /* Da Implementare */ break; case MsgCodes.ResultSetPLCTag: /* Da Implementare */ break; case MsgCodes.ResultSetPLCTags: /* Da Implementare */ break; case MsgCodes.ResultGetPLCTag: /* Da Implementare */ break; case MsgCodes.ResultGetPLCTags: /* Da Implementare */ break; case MsgCodes.ResultConnectPLC: /* Da Implementare */ break; case MsgCodes.ResultDisconnectPLC: /* Da Implementare */ break; case MsgCodes.PLCStatusChanged: /* Da Implementare */ break; case MsgCodes.SubscribedPLCTags: /* Da Implementare */ break; case MsgCodes.PLCStatus: /* Da Implementare */ break; } } catch (Exception ex) { Logger.Warn(ex.Message, ex); } // Acknowledge that message is properly handled and processed. So, it will be deleted from queue. e.Message.Acknowledge(); }
/// <summary> /// Handles a message that is received from the client. Fires the relevant event. /// </summary> private void MessageReceivedHandler(object sender, MessageReceivedEventArgs eventArgs) { OnMessageReceived(eventArgs); }
/// <summary> /// Fires MessageReceivedEvent in the current thread /// </summary> /// <param name="eventArgs"></param> private void OnMessageReceived(MessageReceivedEventArgs eventArgs) { _synchronizationContext.Post(e => MessageReceivedEvent.SafeInvoke(this, (MessageReceivedEventArgs)e), eventArgs); }
public void websocket_MessageReceived(object sender, MessageReceivedEventArgs e) { Received(e.Message.TrimEnd('\0')); }
private void OnMessageReceived(object sender, MessageReceivedEventArgs e) { using (Message message = e.GetMessage() as Message) { NetworkTags tag = (NetworkTags)message.Tag; if (!tag.ToString().StartsWith("TRAIN")) { return; } if (tag != NetworkTags.TRAIN_LOCATION_UPDATE) { Logger.Trace($"[SERVER] < {tag}"); } switch (tag) { case NetworkTags.TRAIN_LEVER: UpdateTrainLever(message, e.Client); break; case NetworkTags.TRAIN_RERAIL: UpdateTrainRerail(message, e.Client); break; case NetworkTags.TRAIN_DERAIL: UpdateTrainDerailed(message, e.Client); break; case NetworkTags.TRAIN_SWITCH: UpdateTrainSwitch(message, e.Client); break; case NetworkTags.TRAIN_COUPLE: UpdateCouplingState(message, e.Client, true); break; case NetworkTags.TRAIN_UNCOUPLE: UpdateCouplingState(message, e.Client, false); break; case NetworkTags.TRAIN_COUPLE_HOSE: UpdateCoupledHoseState(message, e.Client); break; case NetworkTags.TRAIN_COUPLE_COCK: UpdateCoupleCockState(message, e.Client); break; case NetworkTags.TRAIN_SYNC_ALL: SendWorldTrains(e.Client); break; case NetworkTags.TRAIN_HOST_SYNC: SyncTrainDataFromHost(message); break; case NetworkTags.TRAIN_LOCATION_UPDATE: UpdateTrainPosition(message, e.Client); break; case NetworkTags.TRAINS_INIT: NewTrainsInitialized(message, e.Client); break; case NetworkTags.TRAINS_INIT_FINISHED: TrainsFinishedInitilizing(e.Client); break; case NetworkTags.TRAIN_REMOVAL: OnCarRemovalMessage(message, e.Client); break; case NetworkTags.TRAIN_DAMAGE: OnCarDamage(message, e.Client); break; case NetworkTags.TRAIN_AUTH_CHANGE: OnAuthChange(message); break; case NetworkTags.TRAIN_CARGO_CHANGE: OnCargoChange(message, e.Client); break; case NetworkTags.TRAIN_MU_CHANGE: OnCarMUChange(message, e.Client); break; } } }
static void RtmpConnection_MessageReceived(object sender, MessageReceivedEventArgs e) { }
void webSocketClient_MessageReceived(object sender, MessageReceivedEventArgs e) { CurrentMessage = e.Message; MessageReceiveEvent.Set(); }
private void websocket_MessageReceived(object sender, MessageReceivedEventArgs e) { try { var obj = Newtonsoft.Json.JsonConvert.DeserializeObject(e.Message, typeof(Cortex.Response.General)) as Cortex.Response.General; if (obj.error != null) { string add = ""; if (Request2Method.ContainsKey(obj.id)) { add = Request2Method[obj.id] + ": "; } OnError?.Invoke(this, add + obj.error.message); return; } if (Request2Method.ContainsKey(obj.id)) { switch (Request2Method[obj.id]) { case Cortex.Request.Subscribe.Method: subscription = JsonConvert.DeserializeObject(e.Message, typeof(Cortex.Response.Subscribe)) as Cortex.Response.Subscribe; OnMessage?.Invoke(this, $"Subscription processed.. receiving data for {string.Join(",", subscription.result?.success?.Select(s => s.streamName))}"); foreach (var item in subscription.result?.success) { SubsriptionDetails[item.streamName] = item; } break; case Cortex.Request.CreateSession.Method: session = JsonConvert.DeserializeObject(e.Message, typeof(Cortex.Response.CreateSession)) as Cortex.Response.CreateSession; var subscribeRequest = new Cortex.Request.Subscribe(); subscribeRequest.__params__.cortexToken = auth.result.cortexToken; subscribeRequest.__params__.session = session.result.id; subscribeRequest.__params__.streams = new string[] { "eeg", "mot", "dev", "pow", "met", "com", "fac", "sys" }; SendReqest(subscribeRequest); break; case Cortex.Request.QueryHeadsets.Method: devices = JsonConvert.DeserializeObject(e.Message, typeof(Cortex.Response.QueryHeadsets)) as Cortex.Response.QueryHeadsets; if (devices.result.Length > 0) { OnDeviceChange?.Invoke(this, new Struct.Device() { Manufacturer = "Emotiv", Model = devices.result[0].id + "-" + devices.result[0].firmware, Uid = devices.result[0].id, }); } OnMessage?.Invoke(this, "Hadsets information received"); if (!string.IsNullOrEmpty(auth.result?.cortexToken)) { OnMessage?.Invoke(this, "Creating session..."); var request = new Cortex.Request.CreateSession(); request.__params__.cortexToken = auth.result.cortexToken; request.__params__.headset = devices.result.FirstOrDefault()?.id; SendReqest(request); } break; case Cortex.Request.Authorize.Method: auth = JsonConvert.DeserializeObject(e.Message, typeof(Cortex.Response.Authorize)) as Cortex.Response.Authorize; OnMessage?.Invoke(this, "Authorized"); if (!string.IsNullOrEmpty(auth.result?.cortexToken)) { OnMessage?.Invoke(this, "Getting headset information..."); SendReqest(new Cortex.Request.QueryHeadsets()); } break; case Cortex.Request.GetUserLogin.Method: OnMessage?.Invoke(this, "Received user information"); user = JsonConvert.DeserializeObject(e.Message, typeof(Cortex.Response.GetUserLogin)) as Cortex.Response.GetUserLogin; break; case Cortex.Request.RequestAccess.Method: access = JsonConvert.DeserializeObject(e.Message, typeof(Cortex.Response.RequestAccess)) as Cortex.Response.RequestAccess; OnMessage?.Invoke(this, "Request Access Message received"); if (access.result?.accessGranted == true) { OnMessage?.Invoke(this, "Access granted. Going to authorize..."); var request = new Cortex.Request.Authorize(); request.__params__.clientId = clientId; request.__params__.clientSecret = clientSecret; SendReqest(request); } else { if (!string.IsNullOrEmpty(access.result.message)) { OnError?.Invoke(this, "Access not granted: " + access.result.message); } else { OnError?.Invoke(this, "Access not granted. No access data received"); } } break; } } else { // received the subscription data var data = JsonConvert.DeserializeObject(e.Message, typeof(Cortex.Response.StreamData)) as Cortex.Response.StreamData; try { Dictionary <string, Dictionary <string, object> > ret = ProcessToStringValue(data); OnStreamDataReceived?.Invoke(null, ret); } catch (Exception exc) { OnError?.Invoke(this, exc.Message); } } //var response = JsonUtility.FromJson<Cortex.Response.General>(reply); lastMessageReceived = e.Message; messageReceiveEvent.Set(); } catch (Exception exc) { OnError?.Invoke(this, exc.Message); } }
// Handle receieved message private void WebSocketClient_MessageReceived(object sender, MessageReceivedEventArgs e) { m_CurrentMessage = e.Message; m_MessageReceiveEvent.Set(); //Console.WriteLine("Received: " + e.Message); JObject response = JObject.Parse(e.Message); //var name = response["com"]; //Console.WriteLine(name); if (response["id"] != null) { Console.WriteLine("id"); int id = (int)response["id"]; string method = _methodForRequestId[id]; _methodForRequestId.Remove(id); if (response["error"] != null) { JObject error = (JObject)response["error"]; int code = (int)error["code"]; string messageError = (string)error["message"]; Console.WriteLine("Received: " + messageError); //Send Error message event OnErrorMsgReceived(this, new ErrorMsgEventArgs(code, messageError)); } else { // handle response JToken data = response["result"]; HandleResponse(method, data); } } else if (response["sid"] != null) { string sid = (string)response["sid"]; double time = 0; if (response["time"] != null) { time = (double)response["time"]; } foreach (JProperty property in response.Properties()) { //Console.WriteLine(property.Name + " - " + property.Value); if (property.Name != "sid" && property.Name != "time") { OnStreamDataReceived(this, new StreamDataEventArgs(sid, (JArray)property.Value, time, property.Name)); Console.WriteLine(property.Value[0].ToString()); } } } else if (response["warning"] != null) { JObject warning = (JObject)response["warning"]; string messageWarning = ""; int code = -1; if (warning["code"] != null) { code = (int)warning["code"]; } if (warning["message"].Type == JTokenType.String) { messageWarning = warning["message"].ToString(); } else if (warning["message"].Type == JTokenType.Object) { Console.WriteLine("Received Warning Object"); } HandleWarning(code, messageWarning); } }
public static MessageReceivedEventArgs GetArgs(string json) { MessageReceivedEventArgs args = new MessageReceivedEventArgs(json); return(args); }
private static void onMessage(object sender, MessageReceivedEventArgs e) { onWSSMessage(sender, e); }
public bool HandleMessage(MessageReceivedEventArgs e) { object Obj; JsonObject Message; if (SimpleJson.SimpleJson.TryDeserializeObject(e.Message, out Obj)) Message = (JsonObject)Obj; else return false; if (!Message.ContainsKey("type")) return false; int p_id = 0; int c_id = 0; int l_id = 0; if (Message.ContainsKey("player_id")) p_id = Convert.ToInt32(Message["player_id"]); if (Message.ContainsKey("character_id")) c_id = Convert.ToInt32(Message["character_id"]); if (Message.ContainsKey("location_id")) l_id = Convert.ToInt32(Message["location_id"]); switch (Message["type"].ToString()) { case "text": //HANDLED AddLogEntry(Message["text"].ToString()); return true; case "character": //HANDLED AddLogEntry(Character.GetCharacter(c_id).Name + ": " + Message["text"].ToString()); return true; case "move": //HANDLED UpdatePlayerLocation(Players[p_id], l_id); AddLogEntry(Players[p_id].Name + " moved to " + Places.AllPlaces[l_id].Name); return true; case "next": //HANDLED CurrentPlayer = p_id; try { AddLogEntry("It is " + Players[p_id].Name + "'s turn"); } catch { } return true; case "question": //HANDLED JsonArray optionsBuf = (JsonArray)Message["options"]; string[] options = new string[optionsBuf.Count]; AddLogEntry(Players[p_id].Name + " has to decide on the following: " + Message["question"].ToString() +" These options are available for selection:"); for (int i = 0; i < optionsBuf.Count; i++) { options[i] = optionsBuf[i].ToString(); AddLogEntry(options[i]); } if (Array.Exists(Connection.ClientIDs, entry => entry == p_id)) { ActingOptionMenu = new ActingOptionMenu(p_id, c_id, Message["question"].ToString(), options, SendResponse); InitControlGroup(ActingOptionMenu); ActingOptionMenu.Visible = true; } return true; case "change_cards": //HANDLED // TODO: Replace Keys Resources ResourcesBUF = new Resources( Convert.ToInt32(Message["res1"]), Convert.ToInt32(Message["res2"]), Convert.ToInt32(Message["res3"]), Convert.ToInt32(Message["res4"])); Players[p_id].Resources += ResourcesBUF; AddLogEntry(Players[p_id].Name + " " + ResourcesBUF.ToString()); return true; case "item_gained": //HANDLED Players[p_id].AddItem(new Item(Message["item_name"].ToString())); AddLogEntry(Players[p_id].Name + " gained " + Message["item_name"].ToString()); return true; case "item_lost": //HANDLED Players[p_id].DeleteItem(new Item(Message["item_name"].ToString())); AddLogEntry(Players[p_id].Name + " lost " + Message["item_name"].ToString()); return true; case "win": AddLogEntry(Players[p_id].Name + " won."); return true; default: return false; } }
private void NotificationsOnClientMessageReceived(object sender, MessageReceivedEventArgs e) { Execute(MessageTarget.Client, e); }
private void LogoutRequestReceived(MessageReceivedEventArgs ev) { var message = (LogoutMessage)ev.Message; this.Disconnect(message.NetworkID); }
private void OnClientMessageReceived(object sender, MessageReceivedEventArgs e) { switch (e.Tag) { case (ushort)Tags.Tag.SET_NAME: // new player registering using (Message message = e.GetMessage()) { using (DarkRiftReader reader = message.GetReader()) { string name = reader.ReadString(); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Dimelo, " + name); Console.ForegroundColor = ConsoleColor.White; PlayerModel newPlayer = new PlayerModel(e.Client, name); if (pendingPlayer == null) { // new player is pending for a match pendingPlayer = newPlayer; } else { // there is already a pending player. lets start a new match MatchModel match = new MatchModel(pendingPlayer, newPlayer); matches.Add(match.id, match); // report clients of the new match using (DarkRiftWriter writer = DarkRiftWriter.Create()) { writer.Write(match.id); writer.Write(match.CurrentPlayerClientID); using (Message msg = Message.Create((ushort)Tags.Tag.GOT_MATCH, writer)) { pendingPlayer.Client.SendMessage(msg, SendMode.Reliable); newPlayer.Client.SendMessage(msg, SendMode.Reliable); } } pendingPlayer = null; } } } break; case (ushort)Tags.Tag.SLATE_TAKEN: using (Message message = e.GetMessage()) { using (DarkRiftReader reader = message.GetReader()) { ushort matchId = reader.ReadUInt16(); ushort slateIndex = reader.ReadUInt16(); if (matches.ContainsKey(matchId)) { MatchModel match = matches[matchId]; match.PlayerTakesSlate(slateIndex, e.Client); if (match.MatchOver) { // match is over Console.WriteLine($"match over. had: {matches.Count} matches"); matches.Remove(matchId); Console.WriteLine($"match over. now have: {matches.Count} matches"); } } } } break; } }
private void Server_MessageReceived(object sender, MessageReceivedEventArgs ev) { var msg = (ClientMessage)ev.Message; switch(msg.MessageType) { case ClientMessageType.Connect: case ClientMessageType.Disconnect: case ClientMessageType.Login: lock(this.loginqueue) { this.loginqueue.Enqueue (ev); this.loginresetevent.Set (); } break; case ClientMessageType.ClientMovementMessage: lock(this.movequeue) { this.movequeue.Enqueue (ev); this.moveresetevent.Set (); } break; default: lock(this.miscqueue) { this.miscqueue.Enqueue (ev); this.miscresetevent.Set (); } break; } }
protected override void onMessageReceived(MessageReceivedEventArgs args) { // base.onMessageReceived(args); }
public void HandleMessageWrapper(MessageReceivedEventArgs e) { try { Action DOIT = () => HandleMessage(e); if (InvokeRequired) Invoke(DOIT); else HandleMessage(e); } catch (KeyNotFoundException) { if (!e.Message.Contains("game_created") && !e.Message.Contains("next") && !e.Message.Contains("registered") && !e.Message.Contains("card")) MessageBox.Show("Bad Message: "+e.Message); // TODO: Destroy Debug (Messaging) } }
/// <summary> /// This event handles incoming messages from communication channel. /// </summary> /// <param name="sender">Communication channel that received message</param> /// <param name="e">Event arguments</param> private void CommunicationChannel_MessageReceived(ICommunicationChannel sender, MessageReceivedEventArgs e) { LastIncomingMessageTime = DateTime.Now; if ((e.Message.MessageTypeId == MDSMessageFactory.MessageTypeIdMDSControllerMessage) && (!string.IsNullOrEmpty(e.Message.RepliedMessageId))) { //Find and send signal/pulse to waiting thread for this message WaitingMessage waitingMessage = null; lock (_waitingMessages) { if (_waitingMessages.ContainsKey(e.Message.RepliedMessageId)) { waitingMessage = _waitingMessages[e.Message.RepliedMessageId]; } } if (waitingMessage != null) { waitingMessage.ResponseMessage = e.Message as MDSControllerMessage; waitingMessage.WaitEvent.Set(); return; } } //Add message to queue to process in a seperated thread _incomingMessageQueue.Add(e.Message); }
/// <summary> /// Handle message received return from Emotiv Cortex Service /// </summary> private void WebSocketClient_MessageReceived(object sender, MessageReceivedEventArgs e) { string receievedMsg = e.Message; UnityEngine.Debug.Log("WebSocketClient_MessageReceived " + receievedMsg); JObject response = JObject.Parse(e.Message); if (response["id"] != null) { string method = ""; // method name lock (_locker) { int id = (int)response["id"]; method = _methodForRequestId[id]; _methodForRequestId.Remove(id); } if (response["error"] != null) { JObject error = (JObject)response["error"]; int code = (int)error["code"]; string messageError = (string)error["message"]; UnityEngine.Debug.Log("Received: " + messageError); //Send Error message event ErrorMsgReceived(this, new ErrorMsgEventArgs(code, messageError, method)); } else { // handle response JToken data = response["result"]; HandleResponse(method, data); } } else if (response["sid"] != null) { string sid = (string)response["sid"]; double time = 0; if (response["time"] != null) { time = (double)response["time"]; } foreach (JProperty property in response.Properties()) { if (property.Name != "sid" && property.Name != "time") { ArrayList data = new ArrayList(); data.Add(time); // insert timestamp to datastream // spread to one array intead of a array included in a array foreach (var ele in property.Value) { if (ele.Type == JTokenType.Array) { foreach (var item in ele) { data.Add(Convert.ToDouble(item)); } } else if (ele.Type == JTokenType.String) { data.Add(Convert.ToString(ele)); } else if (ele.Type == JTokenType.Boolean) { data.Add(Convert.ToBoolean(ele)); } else if (ele.Type == JTokenType.Null) { data.Add(-1); // use -1 for null value } else { data.Add(Convert.ToDouble(ele)); } } // UnityEngine.Debug.Log("WebSocketClient_MessageReceived: name " + property.Name + " count " + data.Count); StreamDataReceived(this, new StreamDataEventArgs(sid, data, property.Name)); } } } else if (response["warning"] != null) { JObject warning = (JObject)response["warning"]; int code = -1; if (warning["code"] != null) { code = (int)warning["code"]; } JToken messageData = warning["message"]; HandleWarning(code, messageData); } }
private void OnDiscoveryMessageReceived(ITestDiscoveryEventsHandler2 discoveryEventsHandler, MessageReceivedEventArgs args) { try { var rawMessage = args.Data; // Currently each of the operations are not separate tasks since they should not each take much time. This is just a notification. if (EqtTrace.IsInfoEnabled) { EqtTrace.Info("TestRequestSender: Received message: {0}", rawMessage); } // Send raw message first to unblock handlers waiting to send message to IDEs discoveryEventsHandler.HandleRawMessage(rawMessage); var data = this.dataSerializer.DeserializeMessage(rawMessage); switch (data.MessageType) { case MessageType.TestCasesFound: var testCases = this.dataSerializer.DeserializePayload <IEnumerable <TestCase> >(data); discoveryEventsHandler.HandleDiscoveredTests(testCases); break; case MessageType.DiscoveryComplete: var discoveryCompletePayload = this.dataSerializer.DeserializePayload <DiscoveryCompletePayload>(data); var discoveryCompleteEventArgs = new DiscoveryCompleteEventArgs(discoveryCompletePayload.TotalTests, discoveryCompletePayload.IsAborted); discoveryCompleteEventArgs.Metrics = discoveryCompletePayload.Metrics; discoveryEventsHandler.HandleDiscoveryComplete( discoveryCompleteEventArgs, discoveryCompletePayload.LastDiscoveredTests); this.SetOperationComplete(); break; case MessageType.TestMessage: var testMessagePayload = this.dataSerializer.DeserializePayload <TestMessagePayload>( data); discoveryEventsHandler.HandleLogMessage( testMessagePayload.MessageLevel, testMessagePayload.Message); break; } } catch (Exception ex) { this.OnDiscoveryAbort(discoveryEventsHandler, ex, false); } }
public void Game_MessageReceived(object sender, MessageReceivedEventArgs ev) { if(ev.Message is ServerMovementMessage) { this.Message_ServerMovementMessage((ServerMovementMessage)ev.Message); } else if (ev.Message is PlayerUpdateMessage) { this.Message_PlayerUpdateReceived((PlayerUpdateMessage)ev.Message); } else if(ev.Message is PlayerInfoMessage) { this.Message_PlayerInfoReceived((PlayerInfoMessage)ev.Message); } else if(ev.Message is ServerEventMessage) { this.Message_ServerEventReceived ((ServerEventMessage) ev.Message); } }
public void WebSocket_MessageReceived(object sender, MessageReceivedEventArgs e) { JsonTextParser parser = new JsonTextParser(); JsonObjectCollection jsonData = (JsonObjectCollection)parser.Parse(e.Message); if (((JsonNumericValue)jsonData["ok"]).Value == 1) { //子窗口相关 if (this.SubForm != null) { if (this.SubForm is OrderDayReportForm && ((JsonStringValue)jsonData["cmd"]).Value.Equals(AppConfig.CLIENT_WANT_REPORT_DAY)) { ((OrderDayReportForm)this.SubForm).ShowData(e.Message); //订单日报表 } else if (this.SubForm is OrderMonthReportForm && ((JsonStringValue)jsonData["cmd"]).Value.Equals(AppConfig.CLIENT_WANT_REPORT_MONTH)) { ((OrderMonthReportForm)this.SubForm).ShowData(e.Message); //订单月报表 } else if (this.SubForm is ClientForm && ((JsonStringValue)jsonData["cmd"]).Value.Equals(AppConfig.CLIENT_WANT_CLIENT_LIST)) { ((ClientForm)this.SubForm).ShowData(e.Message); //客户端管理 } else if (this.SubForm is MenuClassForm && ((JsonStringValue)jsonData["cmd"]).Value.Equals(AppConfig.CLIENT_WANT_MENU_CLASS)) { ((MenuClassForm)this.SubForm).ShowData(e.Message); //菜单分类 } else if (this.SubForm is MenuForm && ((JsonStringValue)jsonData["cmd"]).Value.Equals(AppConfig.CLIENT_WANT_MENU_CLASS)) { ((MenuForm)this.SubForm).ShowData(e.Message); //菜单列表的分类部分 } else if (this.SubForm is MenuForm && ((JsonStringValue)jsonData["cmd"]).Value.Equals(AppConfig.CLIENT_WANT_MENU)) { ((MenuForm)this.SubForm).ShowData(e.Message); //菜单列表的数据部分 } else if (this.SubForm is MenuForm && ((JsonStringValue)jsonData["cmd"]).Value.Equals(AppConfig.CLIENT_WANT_BIG_IMAGE)) { if (((MenuForm)this.SubForm).SubForm != null && ((MenuAddForm)((MenuForm)this.SubForm).SubForm).SubForm != null) { ((MenuBigImgViewForm)((MenuAddForm)((MenuForm)this.SubForm).SubForm).SubForm).ShowData(e.Message); //菜单显示图片 } } else if (this.SubForm is MenuForm && ((JsonStringValue)jsonData["cmd"]).Value.Equals(AppConfig.CLIENT_WANT_SELECTED_MENU_CLASS)) { ((MenuForm)this.SubForm).MenuClassListSelectedWithID((int)((JsonNumericValue)jsonData["data"]).Value); //添加修改删除菜单数据后更新菜单数据列表 } } if (((JsonStringValue)jsonData["cmd"]).Value.Equals(AppConfig.CLIENT_WANT_TOMAIN) || ((JsonStringValue)jsonData["cmd"]).Value.Equals(AppConfig.CLIENT_GET_ONLINE_LIST)) { { //发送获取在线列表的请求 jsonData = new JsonObjectCollection(); jsonData.Add(new JsonStringValue("cmd", AppConfig.SERV_ONLINE_LIST)); ConnHelper.SendString(jsonData.ToString()); } { //获取下单明细列表 jsonData = new JsonObjectCollection(); jsonData.Add(new JsonStringValue("cmd", AppConfig.SERV_ORDER_DETAIL)); ConnHelper.SendString(jsonData.ToString()); } } else if (((JsonStringValue)jsonData["cmd"]).Value.Equals(AppConfig.CLIENT_WANT_ONLINE_LIST)) { //显示在线列表 this.InformationDeskIndices = new List <int>(); this.ClientOrderStatusList = new Dictionary <int, int>(); this.ClientStatusList = new Dictionary <int, int>(); this.ClientNameList = new Dictionary <int, string>(); this.OnlineList.Items.Clear(); JsonArrayCollection data = (JsonArrayCollection)jsonData["data"]; for (int i = 0; i < data.Count; i++) { JsonObjectCollection itemData = (JsonObjectCollection)data[i]; if (((JsonNumericValue)itemData["is_admin"]).Value == 1) { //服务台 ListViewItem item = new ListViewItem(new string[] { "", ((JsonStringValue)itemData["name"]).Value, ((JsonStringValue)itemData["ip"]).Value, Strings.MainFormInformationDeskName, Strings.MainFormInformationDeskStatus }); this.OnlineList.Items.Add(item); this.InformationDeskIndices.Add(i); } else { //一般 string status = Strings.MainFormClientStatus; if (itemData["o_status"].GetValue() != null) { float totalPrice = 0.0f; if (itemData["total_price"].GetValue() != null) { totalPrice = (float)((JsonNumericValue)itemData["total_price"]).Value; } if (((JsonNumericValue)itemData["o_status"]).Value == 0) { status = string.Format(Strings.MainFormClientStatus0, totalPrice.ToString("f1")); } else if (((JsonNumericValue)itemData["o_status"]).Value == 1) { status = string.Format(Strings.MainFormClientStatus1, totalPrice.ToString("f1")); } this.ClientOrderStatusList.Add(i, (int)((JsonNumericValue)itemData["o_status"]).Value); } this.ClientNameList.Add(i, ((JsonStringValue)itemData["name"]).Value); this.ClientStatusList.Add(i, (int)((JsonNumericValue)itemData["status"]).Value); ListViewItem item = new ListViewItem(new string[] { "", ((JsonStringValue)itemData["name"]).Value, ((JsonStringValue)itemData["ip"]).Value, Strings.MainFormClientClassName, status }); this.OnlineList.Items.Add(item); } } if (this.ClientListSelectedIndex > -1) { this.OnlineList.Items[this.ClientListSelectedIndex].Selected = true; } } else if (((JsonStringValue)jsonData["cmd"]).Value.Equals(AppConfig.CLIENT_WANT_ORDER_DETAIL)) { //下单明细列表 this.OrderDetailIDList = new List <int>(); this.OrderDetailStatusList = new List <int>(); this.OrderDetailNameList = new List <string>(); this.OrderDetailList.Items.Clear(); JsonArrayCollection data = (JsonArrayCollection)jsonData["data"]; for (int i = 0; i < data.Count; i++) { JsonObjectCollection itemData = (JsonObjectCollection)data[i]; string status = Strings.MainFormOrderDetailStatus0; if ((int)((JsonNumericValue)itemData["status"]).Value == 1) { status = Strings.MainFormOrderDetailStatus1; } this.OrderDetailIDList.Add((int)((JsonNumericValue)itemData["id"]).Value); this.OrderDetailStatusList.Add((int)((JsonNumericValue)itemData["status"]).Value); this.OrderDetailNameList.Add(((JsonStringValue)itemData["menu_name"]).Value); ListViewItem item = new ListViewItem(new string[] { "", ((JsonStringValue)itemData["c_name"]).Value, ((JsonStringValue)itemData["menu_name"]).Value, ((float)((JsonNumericValue)itemData["price"]).Value).ToString("f1"), ((int)((JsonNumericValue)itemData["quantity"]).Value).ToString(), Commons.UnixTimeFrom((long)((JsonNumericValue)itemData["add_time"]).Value).ToString("HH:mm:ss"), status }); this.OrderDetailList.Items.Add(item); } if (this.OrderDetailListSelectedIndex > -1) { this.OrderDetailList.Items[this.OrderDetailListSelectedIndex].Selected = true; } } } else { MessageBox.Show(((JsonStringValue)jsonData["message"]).Value); } }
//private void _OnMessageReceived(OscarSession sess, UserInfo userInfo, string message, Encoding encoding, MessageFlags msgFlags) private void _OnMessageReceived(object sender, MessageReceivedEventArgs e) { ChatModel chat = GetChat(e.Message.ScreenName, ChatType.Person); if (chat == null) { PersonModel person = new PersonModel(e.Message.ScreenName, e.Message.ScreenName, NetworkID, Protocol, this); chat = new PersonChatModel(person, e.Message.ScreenName, e.Message.ScreenName, this); Session.AddChat(chat); Session.SyncChat(chat); } MessageModel msg = new MessageModel(); TextMessagePartModel textMsg; textMsg = new TextMessagePartModel(); textMsg.Text = String.Format("<{0}> ", e.Message.ScreenName); textMsg.IsHighlight = true; msg.MessageParts.Add(textMsg); textMsg = new TextMessagePartModel(); textMsg.Text = e.Message.Message; msg.MessageParts.Add(textMsg); Session.AddMessageToChat(chat, msg); }
protected virtual void HandleMessageReceived(MessageReceivedEventArgs e) { }
private void FireOnMessageReceived(MessageReceivedEventArgs m) { Log("EVENT Receive:" + m.Header.CommandID); if (OnMessageReceived != null) { if (_synchContext == null) { OnMessageReceived(this, m); } else { _synchContext.BeginInvoke(new EventHandler<MessageReceivedEventArgs>(OnMessageReceived), this, m); } } }
static void websocket_MessageReceived(object sender, MessageReceivedEventArgs e) { Console.WriteLine("Received : " + e.Message); }