Я довольно новичок в C++, и мне интересно, как я могу использовать с ним веб-сокеты, я использовал веб-сокеты в NodeJs и JavaScript, и я хочу продолжить использовать их с C++.Как я могу использовать websocket с C++
-5
A
ответ
1
Сокеты еще не являются частью стандартной библиотеки C++. Но Boost имеет Boost.Asio, кросс-платформенную библиотеку для разговора TCP/IP и UDP между прочим. Там есть эта отличная библиотека с открытым исходным кодом под названием Beast, которая обрабатывает не только WebSocket, но и HTTP, а также построен поверх Boost.Asio. Вот библиотека домашняя страница: http://vinniefalco.github.io/
Вот полный, составление пример программы, которая говорит WebSocket:
#include <beast/to_string.hpp>
#include <beast/websocket.hpp>
#include <boost/asio.hpp>
#include <iostream>
#include <string>
int main()
{
// Normal boost::asio setup
std::string const host = "echo.websocket.org";
boost::asio::io_service ios;
boost::asio::ip::tcp::resolver r(ios);
boost::asio::ip::tcp::socket sock(ios);
boost::asio::connect(sock,
r.resolve(boost::asio::ip::tcp::resolver::query{host, "80"}));
// WebSocket connect and send message using beast
beast::websocket::stream<boost::asio::ip::tcp::socket&> ws(sock);
ws.handshake(host, "/");
ws.write(boost::asio::buffer("Hello, world!"));
// Receive WebSocket message, print and close using beast
beast::streambuf sb;
beast::websocket::opcode op;
ws.read(op, sb);
ws.close(beast::websocket::close_code::normal);
std::cout << to_string(sb.data()) << "\n";
}
Смежные вопросы
- 1. Как я могу использовать websocket в jasmine framework?
- 2. C# websocket: как я могу отправить двоичные данные клиенту?
- 3. Как использовать websocket с ReactJS?
- 4. Как использовать WebSocket с php?
- 5. Я не могу использовать websocket внутри .net (vb.net) webbrowser control
- 6. Могу ли я использовать websocket для Java Swing?
- 7. libwebsockets для C, могу ли я использовать дескриптор файла websocket с select()?
- 8. Как я могу использовать эту переменную C#
- 9. Как я могу использовать C++ 14?
- 10. Могу ли я транслировать все клиенты WebSocket
- 11. Могу ли я использовать C++ с UDK?
- 12. Могу ли я использовать MiGLayout с C++?
- 13. Как я могу использовать алгоритмы C++?
- 14. Как я могу использовать программу C?
- 15. Как я могу использовать mysql в C++?
- 16. Как я могу использовать xml в C++?
- 17. Как я могу реализовать интерактивный клиент websocket с autobahn asyncio?
- 18. C# WebSocket с прокси
- 19. Как я могу использовать odata с помощью json с C#?
- 20. Netty: Как использовать строку запроса с websocket?
- 21. Как использовать Обрамление с AKKA WebSocket
- 22. Как я могу использовать pdf.js с CefSharp?
- 23. Как я могу использовать типы перечислений C++, такие как C#?
- 24. Как я могу реализовать рукопожатие Websocket на этом сервере?
- 25. Как я могу получить данные из URL-адреса websocket?
- 26. Как я могу использовать cuda с nodejs
- 27. Как я могу использовать LinearLayout с CalendarView?
- 28. Как использовать h264 прямой эфир с websocket?
- 29. Как использовать netty websocket client с wss?
- 30. Как использовать сессионный набор с помощью websocket
См https://stackoverflow.com/questions/6638213/will-and-should-there-be -sockets-в-c11. Сокеты не являются частью самого языка, вам необходимо использовать стороннюю библиотеку, такую как Boost или POSIX. – sashoalm
Вам нужно показать некоторые усилия. Что вы пробовали? Что вы изучали? –
@JesperJuhl Я пробовал несколько библиотек, но они не работают должным образом. –