}//SendServerMessage void SendAllClientsOnline(TcpClient client) { SCMessage message = new SCMessage { MessageType = SCMessageType.All_Clients_Online }; string messageText = string.Empty; for (int i = 0; i < this.Clients.Count; i++) { if (this.Clients[i].Client == client) { continue; } if (i + 1 == this.Clients.Count) { messageText += this.Clients[i].NickName; break; }//if messageText += this.Clients[i].NickName + " "; }//for message.Message = messageText; var bytes = SCMessage.SerializeJSON_ToBytes(message); client.GetStream().Write(bytes, 0, bytes.Length); }//SendAllClientsOnline
} //SendTCP public void Dispose() { this.ServerStart = false; Program.ConsoleWriteLine($"Server Stop ({DateTime.Now.ToLongTimeString()})", Program.Red, Color.Black); SCMessage message = new SCMessage { MessageType = SCMessageType.Server_Exit }; for (int i = 0; i < this.Clients.Count; i++) { message.Message = i.ToString(); var ExitMessage = SCMessage.SerializeJSON_ToBytes(message); this.Clients[i].Client.GetStream().Write(ExitMessage, 0, ExitMessage.Length); this.Clients[i].Client.Close(); this.Clients[i].Client = null; }//for this.FileSendTCP.Stop(); this.FileSendTCP = null; this.Clients = null; this.fpsRun = false; this.TCP.Stop(); this.TCP = null; this.UDP_Video.Close(); this.UDP_Video = null; this.screenViewer.ScreenRefreshed = null; this.screenViewer.Stop(); this.screenViewer = null; if (this.EnableAudio) { this.UDP_Audio.Close(); this.UDP_Audio = null; this.voice.VoiceRefreshed = null; this.voice.Stop(); this.voice = null; } //if } //Dispose
} //TCPListen public void SendFileServer(string Fname) { SCMessage message = new SCMessage { MessageType = SCMessageType.SendFileName, Message = Fname }; var bytes = SCMessage.SerializeJSON_ToBytes(message); this.SendAll_Clients(bytes, 0, bytes.Length); }//SendFileServer
}//SendFileServer public void SendServerMessage(string Text) { SCMessage message = new SCMessage { MessageType = SCMessageType.PublicMessage, From = "Server Admin", Message = Text }; var bytes = SCMessage.SerializeJSON_ToBytes(message); this.SendAll_Clients(bytes, 0, bytes.Length); }//SendServerMessage
internal BroadcastMessageFactory() { this.loMessage = new LOMessage(); this.pdMessage = new PDMessage(); this.scMessage = new SCMessage(); this.aaMessage = new AAMessage(); this.nhMessage = new NHMessage(); this.broadcastMessageClient = new BroadCastOrderMessageClient(); this.dgwOrderReply = new DGWOrderReplyMessage(); }
}//ChatFileMessage private void FileButton_Click(object sender, RoutedEventArgs e) { if (this.fileButton == FileButtons.Delete) { SCMessage message = new SCMessage { MessageType = SCMessageType.DeleteFileServer, Message = this.FileName.Text, From = this.MainWindow.connectionSettings.NickName }; var bytes = SCMessage.SerializeJSON_ToBytes(message); this.MainWindow.TCP.GetStream().Write(bytes, 0, bytes.Length); this.MainWindow._ChatStackPanel.Children.Remove(this); return; }//if else if (this.fileButton == FileButtons.Download) { if (this.MainWindow.DownloadFile == true) { MessageBox.Show("Wait Last Download File!"); }//if else { SaveFileDialog saveFileDialog = new SaveFileDialog(); var extension = System.IO.Path.GetExtension(this.FileName.Text); saveFileDialog.FileName = this.FileName.Text; saveFileDialog.Filter = $"({extension})|*{extension}"; var result = saveFileDialog.ShowDialog(); if (result != null) { if (result.Value) { this.MainWindow.DownloadFilePath = saveFileDialog.FileName; SCMessage message = new SCMessage { MessageType = SCMessageType.SendFileName, Message = this.FileName.Text }; var bytes = SCMessage.SerializeJSON_ToBytes(message); this.MainWindow.TCP.GetStream().Write(bytes, 0, bytes.Length); } //if } //if } //else } //else if } //FileButton_Click
}//AddClientInfo void Disconnect(TcpClient Client) { try { var CI = Clients.FirstOrDefault(c => c.Client == Client); string nickName = string.Empty; if (CI != null) { nickName = CI.NickName.Clone() as string; this.SendAll_Clients(SCMessage.SerializeJSON_ToBytes(new SCMessage { Message = nickName, MessageType = SCMessageType.ClientDisconnected_Message }), CI); int index = Clients.IndexOf(CI); if (Clients.Count == index + 1 && index != 0) { SCMessage message = new SCMessage { MessageType = SCMessageType.Client_Disconnected }; SendTCP(SCMessage.SerializeJSON_ToBytes(message), Clients[index - 1].Client); }//if else if (Clients.Count >= 3 && index >= 1) { //SendTCP(Encoding.ASCII.GetBytes($"{Clients[index + 1].VideoEndpoint.ToString()};{(this.EnableAudio ? Clients[index + 1].AudioEndpoint.ToString() : string.Empty)}"), Clients[index - 1].Client); SCMessage message = new SCMessage { IP = Clients[index + 1].VideoEndpoint.Address.ToString(), UDP_Video_Port = Clients[index + 1].VideoEndpoint.Port, UDP_Audio_Port = this.EnableAudio ? Clients[index + 1].AudioEndpoint.Port : 0, MessageType = SCMessageType.Send_Client_IP_Ports_Info }; SendTCP(SCMessage.SerializeJSON_ToBytes(message), Clients[index - 1].Client); }//else if Clients.Remove(CI); }//if Program.ConsoleWriteLine(Client.Client.RemoteEndPoint.ToString() + $" Disconnected ({nickName})", Color.OrangeRed, Color.Black); Client.Close(); } //try catch { } //catch Program.SetTitle(Program.GetFirstTitle() + $" | Online {this.Clients.Count}"); }//Disconnect
// Serializes message and sends to client based on connection ID public void SendSocketMessage(SCMessage message, int userId) { byte error; byte[] buffer = new byte[1024]; Stream stream = new MemoryStream(buffer); BinaryFormatter formatter = new BinaryFormatter(); string str = JsonUtility.ToJson(message); formatter.Serialize(stream, str); NetworkTransport.Send(socketId, userId, channelId, buffer, buffer.Length, out error); if ((NetworkError)error != NetworkError.Ok) { Debug.Log("Error sending message: " + ((NetworkError)error).ToString()); } }
// public void Connect(string ip, int port) // { // byte error; // connectionId = NetworkTransport.Connect(socketId, ip, port, 0, out error); // Debug.Log("Connected to client. ConnectionId: " + connectionId); // } // Serializes message into JSON and sends to correct client based on message type. public void SendSocketMessage(SCMessage message) { byte error; byte[] buffer = new byte[1024]; Stream stream = new MemoryStream(buffer); BinaryFormatter formatter = new BinaryFormatter(); string str = JsonUtility.ToJson(message); foreach (int sendId in revUserList[message.type]) // send message to all receiving clients { formatter.Serialize(stream, str); NetworkTransport.Send(socketId, sendId, channelId, buffer, buffer.Length, out error); if ((NetworkError)error != NetworkError.Ok) { Debug.Log("Error sending message: " + ((NetworkError)error).ToString()); } } }
public Text messageDisplay; // FOR DEBUGGING PURPOSES ONLY // Checks for received messages and displays their contents in a text display. void Update() { string received = null; do { received = ReceiveMessage(); if (received != null) { SCMessage message = JsonUtility.FromJson <SCMessage>(received); if (!modules.Contains(message.type)) // player not authorized to receive message { Debug.Log("Illegal " + message.type.ToString() + " message received from server"); return; } switch (message.type) { case MType.Init: handleInit(received); break; case MType.Pilot: handlePilot(received); break; case MType.Nav: handleNav(received); break; default: break; } } } while (received != null); }
}//SendAllClientsOnline void AddClientInfo(TcpClient client, int Video_Udp_Port, int Audio_Udp_Port, string NickName) { var clientInfo = new ClientInfo(); clientInfo.NickName = NickName; var ip = (client.Client.RemoteEndPoint as IPEndPoint).Address; string firestIpbytes = ip.ToString().Substring(0, ip.ToString().IndexOf('.')); if (firestIpbytes == "192" || firestIpbytes == "172" || firestIpbytes == "10") { clientInfo.ConnectionType = ConnectionTypes.LAN; }//if else { clientInfo.ConnectionType = ConnectionTypes.WAN; }//else clientInfo.VideoEndpoint = new IPEndPoint(ip, Video_Udp_Port); if (this.EnableAudio) { clientInfo.AudioEndpoint = new IPEndPoint(ip, Audio_Udp_Port); }//if else { clientInfo.AudioEndpoint = null; }//else clientInfo.Client = client; if (Clients.Count > 0) { var lastClient = Clients[Clients.Count - 1]; if (clientInfo.ConnectionType == ConnectionTypes.LAN && lastClient.ConnectionType == ConnectionTypes.WAN) { if (Clients.Count == 1) { //SendTCP(Encoding.ASCII.GetBytes($"{Clients[0].VideoEndpoint.ToString()};{(this.EnableAudio ? Clients[0].AudioEndpoint.ToString() : string.Empty)}"), clientInfo.Client); SCMessage message = new SCMessage { IP = Clients[0].VideoEndpoint.Address.ToString(), UDP_Video_Port = Clients[0].VideoEndpoint.Port, UDP_Audio_Port = this.EnableAudio ? Clients[0].AudioEndpoint.Port : 0, MessageType = SCMessageType.Send_Client_IP_Ports_Info }; SendTCP(SCMessage.SerializeJSON_ToBytes(message), clientInfo.Client); Clients.Insert(0, clientInfo); }//if else { int FirstWANIndex = Clients.IndexOf(Clients.First(c => c.ConnectionType == ConnectionTypes.WAN)); //SendTCP(Encoding.ASCII.GetBytes($"{clientInfo.VideoEndpoint.ToString()};{(this.EnableAudio ? clientInfo.AudioEndpoint.ToString() : string.Empty)}"), Clients[FirstWANIndex - 1].Client); SCMessage message = new SCMessage { IP = clientInfo.VideoEndpoint.Address.ToString(), UDP_Video_Port = clientInfo.VideoEndpoint.Port, UDP_Audio_Port = this.EnableAudio ? clientInfo.AudioEndpoint.Port : 0, MessageType = SCMessageType.Send_Client_IP_Ports_Info }; SendTCP(SCMessage.SerializeJSON_ToBytes(message), Clients[FirstWANIndex - 1].Client); //SendTCP(Encoding.ASCII.GetBytes($"{Clients[FirstWANIndex].VideoEndpoint.ToString()};{(this.EnableAudio ? Clients[FirstWANIndex].AudioEndpoint.ToString() : string.Empty)}"), clientInfo.Client); message = new SCMessage { IP = Clients[FirstWANIndex].VideoEndpoint.Address.ToString(), UDP_Video_Port = Clients[FirstWANIndex].VideoEndpoint.Port, UDP_Audio_Port = this.EnableAudio ? Clients[FirstWANIndex].AudioEndpoint.Port : 0, MessageType = SCMessageType.Send_Client_IP_Ports_Info }; SendTCP(SCMessage.SerializeJSON_ToBytes(message), clientInfo.Client); Clients.Insert(FirstWANIndex, clientInfo); } //else } //if else { Clients.Add(clientInfo); //SendTCP(Encoding.ASCII.GetBytes($"{clientInfo.VideoEndpoint.ToString()};{(this.EnableAudio ? clientInfo.AudioEndpoint.ToString() : string.Empty)}"), Clients[Clients.Count - 2].Client); SCMessage message = new SCMessage { IP = clientInfo.VideoEndpoint.Address.ToString(), UDP_Video_Port = clientInfo.VideoEndpoint.Port, UDP_Audio_Port = this.EnableAudio ? clientInfo.AudioEndpoint.Port : 0, MessageType = SCMessageType.Send_Client_IP_Ports_Info }; SendTCP(SCMessage.SerializeJSON_ToBytes(message), Clients[Clients.Count - 2].Client); } //else } //if else { Clients.Add(clientInfo); }//else Program.SetTitle(Program.GetFirstTitle() + $" | Online {this.Clients.Count}"); }//AddClientInfo
} //Main void TCPListen() { try { TCP.Start(); while (true) { TcpClient Client = TCP.AcceptTcpClient(); //Program.ConsoleWriteLine(Client.Client.RemoteEndPoint.ToString() + " Connecting", Color.GreenYellow, Color.Black); Client.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true); var ClientStream = Client.GetStream(); if (this.EnableAudio == false) { SCMessage message = new SCMessage { MessageType = SCMessageType.Send_Client_Connection_Info, UDP_Video_Port = 1 }; var bytes = SCMessage.SerializeJSON_ToBytes(message); ClientStream.Write(bytes, 0, bytes.Length); }//if else { SCMessage message = new SCMessage { MessageType = SCMessageType.Send_Client_Connection_Info, UDP_Video_Port = 1, UDP_Audio_Port = 1 }; var bytes = SCMessage.SerializeJSON_ToBytes(message); ClientStream.Write(bytes, 0, bytes.Length); }//else int BytesRead = 0; try { BytesRead = ClientStream.Read(this.MessageBuffer, 0, this.MessageBuffer.Length); var message = SCMessage.DeserializeJSON_FromBytes(this.MessageBuffer, 0, BytesRead); if (message.MessageType == SCMessageType.Send_Client_Connection_Info) { string Password = message.Message; if (this.Password != Password) { SCMessage scmessage = new SCMessage { MessageType = SCMessageType.Invalid_Password }; var bytes = SCMessage.SerializeJSON_ToBytes(scmessage); ClientStream.Write(bytes, 0, bytes.Length); Program.ConsoleWriteLine(Client.Client.RemoteEndPoint.ToString() + " (Invalid Password)", Color.Red, Color.Black); Client.Close(); continue; }//if string NickName = message.From; var checkNick = this.Clients.FirstOrDefault(c => c.NickName == NickName); if (checkNick != null) { SCMessage scmessage = new SCMessage { MessageType = SCMessageType.Invalid_NickName }; var bytes = SCMessage.SerializeJSON_ToBytes(scmessage); ClientStream.Write(bytes, 0, bytes.Length); Program.ConsoleWriteLine(Client.Client.RemoteEndPoint.ToString() + " (Invalid NickName)", Color.Red, Color.Black); Client.Close(); continue; }//if SCMessage scmessageOK = new SCMessage { MessageType = SCMessageType.Connection_OK, X = Width_X, Y = Height_Y }; var bytesOK = SCMessage.SerializeJSON_ToBytes(scmessageOK); ClientStream.Write(bytesOK, 0, bytesOK.Length); BytesRead = ClientStream.Read(this.MessageBuffer, 0, this.MessageBuffer.Length); scmessageOK = SCMessage.DeserializeJSON_FromBytes(this.MessageBuffer, 0, BytesRead); if (scmessageOK.MessageType == SCMessageType.Connection_OK) { Program.ConsoleWriteLine(Client.Client.RemoteEndPoint.ToString() + $" Connected ({NickName})", Color.GreenYellow, Color.Black); int Video_Udp_Port = message.UDP_Video_Port; int Audio_Udp_Port = -1; if (this.EnableAudio) { Audio_Udp_Port = message.UDP_Audio_Port; }//if this.SendAll_Clients(SCMessage.SerializeJSON_ToBytes(new SCMessage { Message = NickName, MessageType = SCMessageType.ClientConnected_Message })); AddClientInfo(Client, Video_Udp_Port, Audio_Udp_Port, NickName); }//if else { continue; } }//if else { Disconnect(Client); continue; } //else } //try catch { Disconnect(Client); continue; }//catch Task.Run(() => { try { this.SendAllClientsOnline(Client); int countRead = 0; SCMessage scmessage = null; byte[] clientMessage = new byte[MessageBufferSIZE]; while (true) { countRead = ClientStream.Read(clientMessage, 0, clientMessage.Length); scmessage = SCMessage.DeserializeJSON_FromBytes(clientMessage, 0, countRead); if (scmessage.MessageType == SCMessageType.Mouse_Click) { MouseClick mouseclick = new MouseClick(); mouseclick.Message = scmessage.From; mouseclick.X = scmessage.X; mouseclick.Y = scmessage.Y; MouseClick.DrawMouseClick(mouseclick); }//if else if (scmessage.MessageType == SCMessageType.PublicMessage) { Program.ConsoleWriteLine($"{scmessage.From} : {scmessage.Message}", Program.Orange, Color.Black); var sender = this.Clients.FirstOrDefault(c => c.NickName == scmessage.From); if (sender != null) { this.SendAll_Clients(clientMessage, 0, countRead, sender); } }//else if else if (scmessage.MessageType == SCMessageType.PrivateMessage) { var toClient = this.Clients.FirstOrDefault(c => c.NickName == scmessage.To); if (toClient != null) { this.SendTCP(clientMessage, 0, countRead, toClient.Client); } }//else if else if (scmessage.MessageType == SCMessageType.DeleteFileServer) { var fname = scmessage.Message; var NickName_ = scmessage.From; Task.Run(() => { while (true) { try { if (File.Exists($"{Program.SV_Directory}/{fname}")) { File.Delete($"{Program.SV_Directory}/{fname}"); return; } //if } //try catch { } //catch Thread.Sleep(1000); }//while }); scmessage = new SCMessage { MessageType = SCMessageType.FileDeleted, Message = fname }; var bytes_ = SCMessage.SerializeJSON_ToBytes(scmessage); var sender = this.Clients.FirstOrDefault(c => c.NickName == NickName_); if (sender != null) { this.SendAll_Clients(bytes_, 0, bytes_.Length, sender); } }//else if else if (scmessage.MessageType == SCMessageType.SendFile) { string NickName_ = scmessage.From; SCMessage cMessage = new SCMessage { MessageType = SCMessageType.FileTCP_Port, UDP_Video_Port = this.FileSendTCP_Port }; var bytes__ = SCMessage.SerializeJSON_ToBytes(cMessage); ClientStream.Write(bytes__, 0, bytes__.Length); Task.Run(() => { TcpClient client = null; try { if (!Directory.Exists(Program.SV_Directory)) { Directory.CreateDirectory(Program.SV_Directory); }//if client = this.FileSendTCP.AcceptTcpClient(); var NS = client.GetStream(); var fname = $"{DateTime.Now.Ticks}_{scmessage.Message}"; FileStream fileStream = new FileStream($"{Program.SV_Directory}/{fname}", FileMode.Create, FileAccess.Write); const long SendSize = 999; byte[] buffer = new byte[SendSize]; byte[] messagebyffer = new byte[4] { 7, 7, 7, 7 }; NS.Write(messagebyffer, 0, messagebyffer.Length); var fnameBytes = Encoding.UTF8.GetBytes(fname); NS.Write(fnameBytes, 0, fnameBytes.Length); while (true) { countRead = NS.Read(buffer, 0, buffer.Length); if (countRead == 9) { bool error = true; for (int j = 0; j < 9; j++) { if (buffer[j] != 7) { error = false; return; } //if } //for if (error) { break; } fileStream.Write(buffer, 0, countRead); NS.Write(messagebyffer, 0, messagebyffer.Length); fileStream.Close(); break; }//if else if (countRead < SendSize) { fileStream.Write(buffer, 0, countRead); NS.Write(messagebyffer, 0, messagebyffer.Length); fileStream.Close(); break; }//else if else { fileStream.Write(buffer, 0, countRead); NS.Write(messagebyffer, 0, messagebyffer.Length); } //else } //while SCMessage sCMessage = new SCMessage { MessageType = SCMessageType.SendFileName, Message = fname }; var bytes___ = SCMessage.SerializeJSON_ToBytes(sCMessage); var sender = this.Clients.FirstOrDefault(c => c.NickName == NickName_); if (sender != null) { this.SendAll_Clients(bytes___, 0, bytes___.Length, sender); } }//try catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); }//catch if (client != null) { client.Close(); } }); }//else if else if (scmessage.MessageType == SCMessageType.SendFileName) { if (File.Exists($"{Program.SV_Directory}/{scmessage.Message}") == false) { scmessage = new SCMessage { MessageType = SCMessageType.FileNotFound, Message = scmessage.Message }; var bytes = SCMessage.SerializeJSON_ToBytes(scmessage); ClientStream.Write(bytes, 0, bytes.Length); return; }//if else { SCMessage cMessage = new SCMessage { MessageType = SCMessageType.SendFile, UDP_Video_Port = this.FileSendTCP_Port }; var bytes = SCMessage.SerializeJSON_ToBytes(cMessage); ClientStream.Write(bytes, 0, bytes.Length); }//else Task.Run(() => { TcpClient client = null; try { client = this.FileSendTCP.AcceptTcpClient(); var NS = client.GetStream(); var fname = scmessage.Message; try { const long SendSize = 999; byte[] read = new byte[4]; NS.Read(read, 0, read.Length); FileStream fileStream = new FileStream($"{Program.SV_Directory}/{fname}", FileMode.Open, FileAccess.Read); FileInfo fileInfo = new FileInfo($"{Program.SV_Directory}/{fname}"); var countFullSend = (int)(fileInfo.Length / SendSize); var lastBytes = (int)(fileInfo.Length - (countFullSend * SendSize)); int i = 0; byte[] buffer = new byte[SendSize]; while (i < countFullSend) { fileStream.Read(buffer, 0, buffer.Length); NS.Write(buffer, 0, buffer.Length); NS.Read(read, 0, read.Length); i++; }//while if (lastBytes == 0) { ClientStream.Write(new byte[9] { 7, 7, 7, 7, 7, 7, 7, 7, 7 }, 0, 9); }//if else { fileStream.Read(buffer, 0, lastBytes); NS.Write(buffer, 0, lastBytes); NS.Read(read, 0, read.Length); fileStream.Close(); } //else } //try catch (Exception ex) { ClientStream.Write(new byte[9] { 7, 7, 7, 7, 7, 7, 7, 7, 7 }, 0, 9); MessageBox.Show(ex.Message, "Send File Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } //catch } //try catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); }//catch if (client != null) { client.Close(); } }); } //else if } //while } //try catch { Disconnect(Client); return; } //catch }); } //while } //try catch (Exception ex) { //Program.ConsoleWriteLine($"TCP Error: {ex.Message}", Program.Red, Color.Black); } //catch } //TCPListen
//获取系统信息反馈回调 private void GetSysMessageResult(ResultModel result) { if (result.pack.Cmd != Cmd.CMD_MESSAGE) { return; } System.Console.WriteLine("GetSysMessageResult:" + result.pack); if (result.pack.Content.MessageType == 1) { SCMessage message = result.pack.Content.ScMessage; IList <string> pars = message.ParamsList; SYSMSG_TYPE msg = (SYSMSG_TYPE)message.Cmd; switch (msg) { //上机 case SYSMSG_TYPE.LOGON: UserUpComputer(pars); break; //下机 case SYSMSG_TYPE.LOGOFF: UserDownComputer(pars); break; //更新状态 case SYSMSG_TYPE.UPSTATUS: UpdateUserStatus(pars); break; //更新验证 case SYSMSG_TYPE.VERIFY: UpdateUserVerifyStatus(pars); break; //有呼叫消息 case SYSMSG_TYPE.CALL: if (this.UpdateMsgNumEvent != null) { this.callMsgNum = pars[0].Equals("") ? 0 : int.Parse(pars[0]); this.UpdateMsgNumEvent(); } break; //订单信息 case SYSMSG_TYPE.ORDER: if (this.UpdateMsgNumEvent != null) { this.orderMsgNum = pars[0].Equals("") ? 0 : int.Parse(pars[0]); this.UpdateMsgNumEvent(); } break; //异常信息 case SYSMSG_TYPE.EXCEPTION: if (this.UpdateMsgNumEvent != null) { this.exceptionMsgNum = pars[0].Equals("") ? 0 : int.Parse(pars[0]); this.UpdateMsgNumEvent(); } break; //当日上网人数 case SYSMSG_TYPE.DAILY_ONLINE_COUNT: if (this.UpdateDailyCountEvent != null) { int num = pars[0].Equals("") ? 0 : int.Parse(pars[0]); this.dailyOnlineCount = num; this.UpdateDailyCountEvent(); } break; //当日营收金额 case SYSMSG_TYPE.DAILY_TRADE_AMOUNT: if (this.UpdateDailyCountEvent != null) { int num = pars[0].Equals("") ? 0 : int.Parse(pars[0]); this.dailyTradeAmount = num; this.UpdateDailyCountEvent(); } break; default: break; } } }