Hallo,
ich habe vor einiger Zeit ein Programm geschrieben, um Gewichte und Wiegenummern aus einem Wägeterminal via Serial Port (rs232) auszulesen. Nun gibt es ein neues Terminal das keinen RS232 Port mehr hat, stattdessen einen Ethernet Port. Mit Putty kann ich über RAW daten ein und ausgeben. Kann ich in meinem Programm meinen Serialport einfach umbauen zu einem RAW Port? Ich habe schon etwas gegooglet, aber es scheint doch komplexer zu sein als über RS232.
Viele Grüße
Maffi
Hier ein kleiner Codeauszug aus meinem Programm:
SerialPort serialPort1 = new SerialPort("COM8", 9600, Parity.Even, 8, StopBits.One);
...
serialPort1.DataReceived += new SerialDataReceivedEventHandler(DatenEmpfangen);
...
serialPort1.Open();
datensenden("05");
...
private void DatenEmpfangen(object sender, SerialDataReceivedEventArgs e)
{
// If the com port has been closed, do nothing
if (!serialPort1.IsOpen) return;
int bytes = serialPort1.BytesToRead;
byte[] buffer = new byte[bytes];
serialPort1.Read(buffer, 0, bytes);
Log(LogMsgType.Incoming, ByteArrayToHexString(buffer));
lauf++;
}
private void datensenden(string sendData)
{
//Schreibt Daten an der seriellen Schnittstelle wenn die Serielle Schnittstelle offen ist
if (serialPort1.IsOpen)
{
byte[] data = HexStringToByteArray(sendData);
// Send the binary data out the port
serialPort1.Write(data, 0, data.Length);
Log(LogMsgType.Outgoing, ByteArrayToHexString(data));
i = 0;
}
}
private void Log(LogMsgType msgtype, string msg)
{
textBox1.Invoke(new EventHandler(delegate
{
while (i == 0)
{
message = msg;
i++;
}
textBox1.SelectedText = string.Empty;
textBox1.AppendText(msg);
textBox1.ScrollToCaret();
}));
}
Dann kannst du dazu die TcpClient-Klasse benutzen, s.a. [FAQ] TcpClient: einfaches Beispiel.
Hallo TH69,
Danke für die Antwort, ich denke du meinst das hier, hier geht es aber um die Kommunikation zwischen Client und Server, ich finde irgendwie keine einfache anleitung wie ich daten via RAW Sende und Empfange so ähnlich wie ich das oben mache.
Viele Grüße
Maffi
Wenn dort ein Ethernet Port ist hast du eine Netzwerkverbindung und musst entsprechend Daten über z.B. TCP oder UDP dorthin senden.
die "raw" Verbindung in Putty ist eine TCP Verbindung, die du auch mit dem TcpClient aufbauen kannst.
Hierbei sendest du einfach über die Schreibenden und Lesenden Methodes einer TcpClient Instanz mit dem Server (also dem Software Teil hinter deiner Ethernetbuchse an der Wage).
Wie das geht ist in dem verlinkten Beispiel und in tausenden Online verfügbaren TcpClient Artikeln beschrieben 😃