static void StartTcp(CommandLineOptions options) { if (options.Tcp > 0) { if (options.Verbose) { LogManager.GetCurrentClassLogger() .Info("Starting Tcp Generator for {0}:{1}", options.TcpHost, options.Tcp); } _totalMessagesToSend += options.NumMessages; _tasks.Add(Task.Factory.StartNew(() => { var p = new TcpTestParameters() { Port = options.Tcp, Host = options.TcpHost, NumMessages = options.NumMessages, SleepTimeMilliseconds = options.TcpRate }; TcpTestGenerator.Generate(p); })); } }
public static int Generate(TcpTestParameters parms) { TcpClient server = new TcpClient(parms.Host, parms.Port); var hostName = System.Environment.MachineName + "." + Microsoft.Win32.Registry.LocalMachine.OpenSubKey( "SYSTEM\\CurrentControlSet\\services\\Tcpip\\Parameters").GetValue("Domain", "").ToString(); using (NetworkStream stream = server.GetStream()) { for (int i = 0; i < parms.NumMessages; i++) { JObject o = new JObject { { "Application", "tcp-generator" }, { "Host", hostName }, { "UtcTimestamp", DateTime.UtcNow.ToString("o") }, { "Type", "tcp" }, { "Message", "tcp message " + DateTime.UtcNow.ToString("o") }, { "Index", "logstash" } }; byte[] data = Encoding.UTF8.GetBytes(string.Format("{0}\n", o.ToString())); stream.Write(data, 0, data.Length); Thread.Sleep(parms.SleepTimeMilliseconds); } } return(parms.NumMessages); }