/// <summary> /// Raise OnClient Accepted /// </summary> private void raiseAcceptClient(NetTcpClient netClient) { if (null != onAcceptClient) { onAcceptClient(this, netClient); } }
/// <summary> /// Raise OnReceive /// </summary> private void raiseReceive(NetTcpClient netClient, CommandResult data) { if (null != onReceiveData) { onReceiveData(this, netClient, data); } }
/// <summary> /// Raise onSent /// </summary> private void raiseSent(NetTcpClient netClient, CommandResult data) { if (null != onSendData) { onSendData(this, netClient, data); } }
/// <summary> /// Listen completed /// </summary> /// <param name="ar"></param> private void serverAcceptClient(IAsyncResult ar) { try { if (null != server) { #region Get/Add new client TcpClient client = server.EndAcceptTcpClient(ar); NetTcpClient netClient = new NetTcpClient(client, bufferSize); // Add to clients clients.Add(netClient); // Add listener netClient.onConnect += NetClient_onConnect; netClient.onDisconnect += NetClient_onDisconnect; netClient.onError += NetClient_onError; netClient.onReceiveData += NetClient_onReceiveData; netClient.onSendData += NetClient_onSendData; // Raise event raiseAcceptClient(netClient); #endregion // Accept another client beginListen(); } } catch (Exception ex) { raiseError(CommandResult.makeErrorResult(ex.Message, ex)); } }
/// <summary> /// Parse recieved data /// </summary> /// <param name="sender"></param> /// <param name="data"></param> void tcpClient_onReceiveData(Common.Network.Core.NetTcpClient sender, CommandResult data) { if (null != onReceiveData) { onReceiveData(sender, data); } }
/// <summary> /// Connect Client Event /// </summary> /// <param name="sender"></param> private void NetClient_onConnect(NetTcpClient sender) { if (null != onHintEvent) { onHintEvent.Invoke(this, new CommandResult() { id = 2000, message = "Client Connect", model = sender }); } }
/// <summary> /// Client Error Event /// </summary> /// <param name="sender"></param> /// <param name="data"></param> private void NetClient_onError(NetTcpClient sender, CommandResult data) { if (null != onHintEvent) { onHintEvent.Invoke(this, new CommandResult() { id = 2009, message = "Client Error", model = sender }); } }
/// <summary> /// Parse data /// </summary> /// <param name="sender"></param> /// <param name="data"></param> private void parseData(Common.Network.Core.NetTcpClient sender, Common.Model.CommandResult data) { if ((null != data) && (null != data.model)) { string cmd = Encoding.UTF8.GetString(data.model as byte[]); // PARSE DATA if (cmd.ToLower().StartsWith("[5308") && cmd.ToLower().EndsWith("]")) { write("[53011]"); } } }
/// <summary> /// Client Receive-data Event /// </summary> /// <param name="sender"></param> /// <param name="data"></param> private void NetClient_onReceiveData(NetTcpClient sender, CommandResult data) { if (null != onHintEvent) { onHintEvent.Invoke(this, new CommandResult() { id = 2002, message = "Client Receive data", model = sender, extra = data }); } // Raise Recive data raiseReceive(sender, data); }