
Ich habe eine Anwendung erstellt, die ein USB-GSM-Modem verwendet. Ich möchte versuchen, meine Anwendung in meinem VPS auszuführen und sie mit dem GSM-Modem in meinem lokalen PC zu verbinden. Meine Fragen sind: - Wie kann ich den lokalen PC-COM-Port für den VPS freigeben? - Mein lokaler PC hat eine öffentliche (statische) IP-Adresse. Ist eine öffentliche IP-Adresse erforderlich? Mein lokaler PC verwendet Windows 7 und mein VPS verwendet Windows Server 2012 R2
Antwort1
Ich habe die Lösung gefunden. Auf meinem lokalen Computer verwende ich hub4com als Server, um den COM-Port mit der TCP-Verbindung zu teilen. Und auf meinem VPS verwende ich com0com und hub4com. Ich verwende com0com, um einen virtuellen COM-Port zu erstellen, und hub4com, um eine Verbindung zu hub4com (Server) auf meinem lokalen Computer herzustellen.
Wenn wir mit com0com einen virtuellen COM-Port erstellen, werden automatisch zwei virtuelle COM-Ports erstellt, zum Beispiel: CNCA0 und CNCB0. Soweit ich weiß, soll CNCA0 von meiner Anwendung verwendet werden und CNCB0 wird von hub4com verwendet, um eine Verbindung zum hub4com-Server (meinem lokalen PC) herzustellen. Aber wenn ich versuche, diesen virtuellen COM-Port (CNCA0) mit meiner Anwendung zu verwenden, erhalte ich eine Fehlermeldung. Mein Programm wurde mit C# erstellt und ich verwende die SerialPort-Klasse und ich glaube, es akzeptiert nur Portnamen mit Alias COM. Dann versuche ich, die Einstellungen von CNCA0 (bei com0com) zu ändern, indem ich die Optionen „Portklasse verwenden“ und „Baudrate emulieren“ aktiviere. Und der Name wird von CNCA0 in COM5 geändert (er kann variieren). Und wenn ich den Gerätemanager überprüfe, erscheint COM5 im Abschnitt „Ports (COM & LPT)“. Und dann starte ich einfach hub4com und verwende CNCB0, um eine Verbindung zum hub4com-Server auf meinem lokalen PC herzustellen. Ich habe es getestet und kann einen AT-Befehl von meiner Anwendung (COM5-Port verwenden) in vps an mein Modem am lokalen PC senden.
Die vollständige Erklärung finden SieHier.