Ethernet Zugriff C# Vegamet

jambalaya

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich möchte über C# auf ein Vegamet zugreifen. Über Hyperterminal funktioniert es bereits. Wenn ich es allerdings in C# Versuche bleibt mein Programm immer bei ReadLine hängen. Wenn ich im Hyperterminal $ eingebe und mit Enter bestätige wird mir der aktuelle Messwert angezeigt.

class Program
{
static void Main(string[] args)
{
Console.WriteLine("Server");
TcpClient serverSocket = new TcpClient("192.168.2.12", 503);
NetworkStream ns = serverSocket.GetStream();
StreamReader sr = new StreamReader(ns);
StreamWriter sw = new StreamWriter(ns);
sw.Write("$");
string textout = sr.ReadLine();
Console.WriteLine(textout);
sw.Flush();
sw.Close();
ns.Close();
Console.ReadLine();
}
}

Wo könnte mein Fehler stecken? Oder gehe ich die Sache falsch an?
Gruß
 
Ich würde es dann an einen anderen PC mit laufendem Hyperterminal schicken, um zu sehen, was genau ankommt!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die Tipps bin der Lösung wieder ein STück näher gerückt
wenn ich den StreamWriter schließe wird der Befehl gesendet und es kommt auch eine Antwort habe ich mit Wireshark herausgefunden die ich jedoch nicht lesen kann. Wenn ich den StreamReader nach sw.close() erzeuge kommt beim Debugging "Der Vorgang ist für nicht verbundene Sockets unzulässig." Und wenn er oben erzeugt wird kommt bei readLine "Auf das verworfene Objekt kann nicht zugegriffen werden.
Objektname: "System.Net.Sockets.NetworkStream"."
In WireShark kommt eine Meldung mit "ZeroWindow" in der mein Rückgabewert steckt.

{
Console.WriteLine("Server");
TcpClient serverSocket = new TcpClient("192.168.2.12", 503);
NetworkStream ns = serverSocket.GetStream();
StreamReader sr = new StreamReader(serverSocket.GetStream());
StreamWriter sw = new StreamWriter(ns);

sw.Write("$\r\n");
sw.Flush();
sw.Close();


string textout = sr.ReadLine();
Console.WriteLine(textout);
sr.Close();
ns.Close();
}

Gruß
 
Zurück
Oben