/// <summary> /// Sends the data to all outgoing client. /// </summary> /// <param name="data">The data.</param> public void SendData(object msg) { try { IMessage message = msg as IMessage; if (OutgoingClientCount > 0) { byte[] data = ASCIIEncoding.ASCII.GetBytes(PortServiceHelper.GetSendCallDetailString(message)); int count = OutgoingClientCount; foreach (TcpClient client in OutGoingClients) { if (CheckClientConnection(client) && !isdisconnect) { try { NetworkStream stream = client.GetStream(); stream.Write(data, 0, data.Length); Thread.Sleep(10); //stream.Close(); } catch (Exception ex) { logger.Error("Error occurred while sending data as " + ex.Message); } } } } } catch (Exception ex) { logger.Error("SendData() : " + ex.Message); } }
void MultiClienTCPPort_DataReadEvent(object sender, byte[] data) { try { string message = ASCIIEncoding.ASCII.GetString(data); PortDataParser parser = new PortDataParser(); if (parser.GetRequestType(message) == RequestType.HTTPGet) { message = parser.ParseGetMethodData(message); int dataIndex = message.IndexOf("?"); if (dataIndex >= 0) { dataIndex++; } if (dataIndex > 0) { message = message.Substring(dataIndex); } if (!message.Equals("/favicon.ico")) { message = message.Replace("%20", " "); } TcpClient client = sender as TcpClient; NetworkStream stream = client.GetStream(); byte[] respons = ASCIIEncoding.ASCII.GetBytes("+OK"); stream.Write(respons, 0, respons.Length); stream.Close(); } if (message != null && !message.Equals("/favicon.ico")) { logger.Info("Data received : " + message); } PortServiceHelper.UpdateCallDetails(message); } catch (Exception ex) { logger.Error("Error Occurred as " + ex.Message); } }