C# 铁钳尖桩

C# 铁钳尖桩,c#,tcplistener,C#,Tcplistener,因此,我的好ole老板向我提出了一个问题,因为我熟悉C#(不太好,但有点)并询问是否可以构建一个简单的系统日志服务器,而不是出去买一个。所以我当然接受了挑战,去了城里。我开发了一个Alpha-one(它让应用程序将所有内容直接输入数据库),但他问我是否可以采用客户机对侦听器的方法(PIA,但合理)。现在我相信我已经正确构建了TCPClient,但是我被困在TCPlistener部分,如果有人能为我指出正确的方向,我希望得到一些帮助。下面是我迄今为止编写的3个程序(alpha、客户端和监听器的一部

因此,我的好ole老板向我提出了一个问题,因为我熟悉C#(不太好,但有点)并询问是否可以构建一个简单的系统日志服务器,而不是出去买一个。所以我当然接受了挑战,去了城里。我开发了一个Alpha-one(它让应用程序将所有内容直接输入数据库),但他问我是否可以采用客户机对侦听器的方法(PIA,但合理)。现在我相信我已经正确构建了TCPClient,但是我被困在TCPlistener部分,如果有人能为我指出正确的方向,我希望得到一些帮助。下面是我迄今为止编写的3个程序(alpha、客户端和监听器的一部分)

阿尔法:

   EventLog alog = new EventLog();
   alog.Log = "Application";
   alog.MachineName = ".";
   DateTime fifteenMinsAgo = DateTime.Now.AddMinutes(-15);
   foreach (EventLogEntry entry in alog.Entries)
   {
   if (entry.TimeGenerated > fifteenMinsAgo)
   {
   SqlConnection sql = new SqlConnection("Server=x.x.x.x;Database=yy;User ID=abcd;password=efg");
   sql.Open();
   SqlCommand cmd = new SqlCommand(@"insert into ApplicationLog(Level,DateTime,Source,EventID,TaskCategory,ServerName,Message) values (@Level,@DateTime,@Source,@EventID,@TaskCategory,@ServerName,@Message)", sql);
   cmd.Parameters.AddWithValue("@Level", entry.EntryType);
   cmd.Parameters.AddWithValue("@DateTime", entry.TimeGenerated);
   cmd.Parameters.AddWithValue("@Source", entry.Source);
   cmd.Parameters.AddWithValue("@EventID", entry.InstanceId);
   cmd.Parameters.AddWithValue("@TaskCategory", entry.Category);
   cmd.Parameters.AddWithValue("@ServerName", entry.MachineName);
   cmd.Parameters.AddWithValue("@Message", entry.Message);
   cmd.ExecuteNonQuery();
   sql.Close();

            }
        }
TCP客户:

   EventLog alog = new EventLog();
   alog.Log = "Application";
   alog.MachineName = ".";
   DateTime fifteenMinsAgo = DateTime.Now.AddMinutes(-15);
   foreach (EventLogEntry entry in alog.Entries)
   {
   if (entry.TimeGenerated > fifteenMinsAgo)
   {
     TcpClient client = new TcpClient();
     IPEndPoint serverendpoint = new IPEndPoint(IPAddress.Parse("x.x.x.x"), yyyy);
     client.Connect(serverendpoint);
     NetworkStream clientstream = client.GetStream();
     ASCIIEncoding encoder = new ASCIIEncoding();
     byte[] buffer = encoder.GetBytes(entry.ToString());
     clientstream.Write(buffer, 0, buffer.Length);
     clientstream.Flush();
            }
        }
TCPListener:

    TcpListener tcpServerListener = new TcpListener(IPAddress.Parse("127.0.0.1"), yyyy);
    tcpServerListener.Start();
    Console.WriteLine("Server Started");
    Socket serverSocket = tcpServerListener.AcceptSocket();
    if (serverSocket.Connected)
    {
      NetworkStream serverSockStream = new NetworkStream(serverSocket);
      serverSockStream.ReadByte();
    }

您在哪里设置侦听器中的端口号?在TCPListener的第一行中,它表示yyyy。对不起,我应该澄清一下。