it-swarm.com.de

Erstellen Sie eine virtuelle serielle Portverbindung TCP

Ich entwickle eine Anwendung, die in der Lage sein sollte, auf einen virtuellen seriellen Port zu schreiben und Daten über Remote-Clients über denselben Port über das Netzwerk zu empfangen.

Die Anwendung läuft auf einem Linux-Server. Ich bin neu in der Verwendung serieller Schnittstellen und habe einige Fragen zu diesem Thema.

Kunden

Der Client kann eine TCP - Verbindung zu einem Server herstellen. Wenn wir einen Client einrichten, müssen wir die IP-Adresse des Servers, einen TCP-Port (normalerweise 8080) und einen virtuellen COM-Port angeben.

Der Client versucht dann automatisch, eine Verbindung zum Server herzustellen.

Server

Der Server verfügt über einen virtuellen COM-Port, den wir auch in der Client-Konfiguration (z. B. COM1) festgelegt haben. Wenn eine Anwendung auf dem Server Daten an diesen Port schreibt, sollten die Daten an alle Clients gesendet werden, die über TCP verbunden sind. Die Antwort der Clients wird über TCP an den Server zurückgesendet, der sie über den virtuellen seriellen Port lesen kann.

Frage 

Unter Windows verwendete ich einen virtuellen seriellen Anschluss http://www.eterlogic.com/Products.VSPE.html , der die meiste Arbeit erledigte. Ich möchte dieses Problem jedoch auf Linux-Maschinen lösen.

Meine Frage ist, wie kann ich einen TCP Server erstellen, an den ein virtueller serieller Port angeschlossen ist und über diesen Port Daten über TCP an abhörende Clients senden/empfangen kann?

12
Artjom Zabelin

Versuchen Sie socat . Mögliches Szenario:

socat  pty,link=/dev/virtualcom0,raw  tcp:192.168.254.254:8080&

socat erstellt eine TCP - Verbindung zu 192.168.254.254:8080, sodass alles, was in/dev/virtualcom0 geschrieben wird, an 192.168.254.254:8080 weitergeleitet wird und umgekehrt.

Ein anderer Ansatz wäre die Verwendung von RFC2217 über ser2net auf der Linux-Serverseite und des RFC2217-Treibers auf Windows-Seite (beispielsweise http://www.hw-group.com/products/ hw_vsp/index_de.html Version mit einem Port). Sie können auch versuchen, http://pyserial.sourceforge.net/ zu erhalten, um mit ser2net zu arbeiten.

22
yegorich

Die Software hilft dabei, Server- und Client-Verbindungen über TCP http://www.serial-com-port.com/ herzustellen. 

Ich verwende es zum Erstellen einer virtuellen seriellen Kommunikation über ein Netzwerk, aber ich habe den richtigen RS232-Port am Computer. Also übertrage ich die Daten einfach über das Netzwerk. Wenn Sie auch auf dem Server eine virtuelle COM erstellen müssen, verwenden Sie den Treiber für den virtuellen seriellen Port. 

1
Jenny Bredst