Forum: PC-Programmierung Netzwerk Socket Programmierung (Win)


von Thomas (Gast)


Lesenswert?

Hallo zusammen,

ich habe hier ein Usb Device basierend auf der HID Class. Das Device ist 
selbstgebaut und HID wird lediglich dazu benutzt Control und Status 
Daten zu tunneln. Es ist geplant das Gerät in Serie zu produzieren. Die 
Kommunikation geschied über eine Wrapper DLL.
Nun ist der Wunsch aufgekommen das Gerät über das Netzwerk 
fernbediehnbar zu machen. Erste Versuche habe ich dazu mit einem USB 
Device Server durchgeführt. Das funktioniert problemlos.

Unser Device wird immer an einem PC betrieben, der am Netzwerk 
angeschlossen ist. Deshalb würde es ja ausreichen, auf diesem PC einfach 
eine Server App zu starten (als Dienst?) und so den USB Device Server 
einzusparen.
Die Server App würde also einfach die empfangenen Netzwerkpakete 
decodieren und diese über die Wrapper DLL an das lokale USB Device 
senden. Umgekehrt würden die USB Daten dann an den Client geleitet. Die 
Datenrate ist überschaubar HID bei weitem ausreichend. Das Netzwerk 
würde einfach ein weiterer Tunnel für die HID Daten sein.

Ich habe mich schon etwas in die Socket Programmierung eingelesen und 
mir mal ein Loopback Adapter mit fixer IP auf dem PC installiert. Vom 
Loopback Adapter erhoffe ich mir, dass ich  die Netzwerkfunktionalität 
erst mal lokal testen und debuggen kann.

Nun ist Netzwerkprogrammierung nicht meine Kernkompetenz deshalb meine 
Fragen:
 - Was haltet Ihr prinzipell von diesem Konzept?
 - Sind Sockets der richtige Ansatz?
 - Wird das mit em Loopback Adapter so funktionieren?

Bitte keine Diskussion über HID, das funktioniert schon perfekt und ist 
meines Wissens die einzige Softwareschnittstelle die OS übergreifent 
überall verfügbar ist. Ebenso werde ich am Device sicher keine 
Netzwerkschnittstelle dazubauen.

Vielen Dank im vorraus

Thomas

von Hmmm (Gast)


Lesenswert?

Kann man so machen.

Einen Loopback-Adapter brauchst Du nicht, der ist auf jedem System 
vorhanden, die berühmte 127.0.0.1.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Es gibt auch USB-Device-Server-Software für Windows.

https://www.virtualhere.com/windows_server_software

Mit der kostenlosen Varianten kann man ein Gerät im Netzwerk zur 
Verfügung stellen, nach Geldeinwurf entsprechend mehr.

Den korrespondierenden Client gibt es für verschiedene Betriebssysteme:

https://www.virtualhere.com/usb_client_software

Vielleicht hilft das ja schon bei Deiner Anwendung.

von Thomas (Gast)


Lesenswert?

Danke Rufus, das kannte ich noch nicht. Werde ich mir näher anschauen 
obwohl das in meinem Fall nicht die Lösung sein wird.

Thomas

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.