Ich muss eine Server + Client-Bibliothek erstellen, um Daten von meinem TimeSeriesDb database anzufordern, und es gibt viele verschiedene Socket und Websocket-Bibliotheken für .NET, plus ich könnte meine eigene Implementierung tun. Daher - kann wirklich beraten, wie Sie vorgehen.Erstellen von binären Socket-Server: benutzerdefinierte vs SignalR vs XSockets vs WebSocket4Net?
Ich fand SuperSocket und WebSocket4net, die darauf basiert, XSockets, und SignalR. Es gibt auch Microsoft's WebSocket Implementierung, die mit .NET 4.5 kommt, die andere veraltet machen könnte.
Noch WebSockets sind optimiert für das Web & Echtzeit-Updates, anstatt binäre Anfrage Antworten, die ich brauche, da der Client auch eine .NET-Bibliothek ist, die nicht im Browser ist.
Details:
Sowohl die db Anfrage und Antwort sind binär:
Auftraggeber: Daten für gegebenes params Erhalten (einen Block von Binärdaten)
Server: Starten ein Sende Datenstrom (als Binärblöcke), in dem der Client die Übertragung jederzeit stoppen kann.
Ich bin auf .NET 4 ausgerichtet, so dass TPL-Aufgaben mit Async-Funktionen profitieren könnten.
Gut zu haben: Stream-Multiplexing, wo mehr als eine Anfrage/Antwort über die gleiche Verbindung gehen könnte (ein Block für jede Antwort der Reihe nach). Ich bin mir nicht sicher, ob dies erforderlich ist oder ob mehrere Verbindungen besser funktionieren würden.