Chcę uzyskać dostęp do interfejsu API WebSocket przy użyciu C++ w systemie Linux. Widziałem różne biblioteki (takie jak libwebsockets lub websocketpp), ale nie jestem pewien, który powinienem użyć. Jedyne, co muszę zrobić, to: połączyć się z API i odbierać dane na ciąg znaków. Tak więc szukam bardzo prostego rozwiązania i nie jest to zbyt skomplikowane. Może ktoś ma już doświadczenie z biblioteką WebSocket?Biblioteka WebSocket
6
A
Odpowiedz
9
Aby uzyskać interfejs API wysokiego poziomu, można użyć ws_client
z biblioteki cpprest {opakowuje websocketpp}.
przykładowej aplikacji, który działa przeciwko echo server:
#include <iostream>
#include <cpprest/ws_client.h>
using namespace std;
using namespace web;
using namespace web::websockets::client;
int main() {
websocket_client client;
client.connect("ws://echo.websocket.org").wait();
websocket_outgoing_message out_msg;
out_msg.set_utf8_message("test");
client.send(out_msg).wait();
client.receive().then([](websocket_incoming_message in_msg) {
return in_msg.extract_string();
}).then([](string body) {
cout << body << endl; // test
}).wait();
client.close().wait();
return 0;
}
Tutaj .wait()
metoda służy do czekać na zadaniach, jednak kod może być łatwo modyfikowane zrobić I/O w sposób asynchroniczny.
Powiązane problemy
- 1. Biblioteka serwerów platformy .NET WebSocket z obsługą asynchroniczną
- 2. C lub C++ biblioteka do kodowania i dekodowania ramek websocket
- 3. Klient WebSocket w PHP?
- 4. Koszt bezpiecznego websocket a niezabezpieczony websocket
- 5. skalowalność websocket
- 6. WebSocket: Błąd podczas uzgadniania WebSocket: wysłano niepusty nagłówek "Sec-WebSocket-Protocol", ale nie otrzymano odpowiedzi
- 7. Błąd usterki WebSocket Meteor WebSocket 400 z nginxem
- 8. Jak otworzyć stronę golang.org/x/net/websocket?
- 9. skalowalność tornado websocket czat
- 10. Play2 utwórz websocket klienta
- 11. Kurento - websocket Połączenie nieudane
- 12. Połączenie SSL Websocket
- 13. Websocket z obsługą async
- 14. javascript websocket onmessage event.data
- 15. Testuj WebSocket w PlayFramework
- 16. Subprotocol podprocedura-odpowiedź WebSocket
- 17. WebSocket na Heroku ERR_CONNECTION_REFUSED
- 18. Brak nagłówka Websocket
- 19. Python Twisted klient WebSocket
- 20. HTML5 Websocket in Webworker
- 21. Serwer Websocket Android
- 22. Konfiguracja połączenia z Websocket
- 23. WebSocket w Androidzie WebView
- 24. Klient HTTP WebSocket Kit
- 25. Xmpp Vs Websocket
- 26. Spring Boot + Websocket (SockJS)
- 27. Wtyczka WebSocket dla Jmeter
- 28. Utrzymywanie połączenia WebSocket
- 29. Kompresja danych WebSocket
- 30. Obsługa websocket w Go
Dziękujemy! Czy obsługuje również subskrybcję kanału? – Bobface
A także, jak mówi ** projekt Microsoft ** na ich stronie. Więc prawdopodobnie nie będzie działać na systemach Linux? – Bobface
Jest całkiem niezły i działa na systemach Windows, OS X, iOS i ** Linux (w tym Android) **. W rzeczywistości zakodowałem i uruchomiłem ten przykład w systemie Ubuntu 15.10. –