Ich versuche, ein Programm zu entwickeln (Windows-Dienst im Grunde), um kontinuierlich eine IP-Adresse und einen PORT zu hören, auf dem ein Gerät Daten im 30-Sekunden-Intervall per Telnet sendet.Wie Ip/Port kontinuierlich für Daten mit TCP/IP-Protokoll zu hören?
Nun habe ich viel gegooglet und wie ich verstehe TCPClient oder TCPListener kann verwendet werden, um Daten von Telnet zu empfangen. Ich habe ein paar Lösungen im Internet durchgegangen, aber die meisten von ihnen sind einmal schreiben und lesen Lösung, aber ich muss auf diese IP kontinuierlich hören. Ich muss nichts senden, nur auf die Daten warten und das in SQL SERVER DB speichern (ich habe mit diesem Code getan). Folgendes ist der Client-Code, den ich versucht habe:
private void Form1_Load(object sender, EventArgs e)
{
msg("Client Started");
clientSocket.Connect(IPAdd, 23);
label1.Text = "Client Socket Program - Server Connected ...";
}
private void button1_Click(object sender, EventArgs e)
{
NetworkStream serverStream = clientSocket.GetStream();
StreamReader objstream = new StreamReader(path, UnicodeEncoding.Unicode);
//textBox1.Text = objstream.ReadLine();
byte[] outStream = System.Text.Encoding.ASCII.GetBytes(objstream.ReadToEnd() + "$");
serverStream.Write(outStream, 0, outStream.Length);
serverStream.Flush();
byte[] inStream = new byte[clientSocket.ReceiveBufferSize];
serverStream.Read(inStream, 0, (int)clientSocket.ReceiveBufferSize);
string returndata = System.Text.Encoding.ASCII.GetString(inStream);
msg(returndata);
textBox2.Text = "";
textBox2.Focus();
string path = @"D:\TELNETResponse.txt";
if (!File.Exists(path))
{
File.Create(path);
TextWriter tw = new StreamWriter(path);
tw.WriteLine(returndata);
tw.Close();
}
else if (File.Exists(path))
{
using (var tw = new StreamWriter(path, true))
{
tw.WriteLine(returndata);
tw.Close();
}
}
}
Jede Hilfe in dieser Hinsicht wird sehr geschätzt.
Was ist Ihr spezifisches Problem? – OldProgrammer
Wie ich bereits sagte, sendet ein Gerät alle 30 Sekunden Daten an einen bestimmten IP/PORT und ich muss diesen Port abhören, um diese Daten zu bekommen. – Arawn
Das ist kein Problem, das ist eine Anforderung. Was ist falsch an dem angezeigten Code? http://meta.stackoverflow.com/questions/284236/why-is-can-someone-help-me-not-an-actual-question – OldProgrammer