Giriş
Şu satırı dahil ederiz.
Şöyle yaparız.
Örnek ver
async_close metodu
Şöyle yaparız.
Bağlanma işlemi bittikten sonra şöyle yaparız.
Şöyle yaparız.
Örnek
Şöyle yaparız.
Elimizde bir strand olsun.
close metodu
Örnek ver
got_text metodu
Örnek ver
handshake metodu
websocket istemcisini sunucuya bağlamak için kullanılır.
next_layer metodu
Örnek
resolve işlemi bittikten sonra bağlanmak için şöyle yaparız.
Örnek
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Örnek ver
Şu satırı dahil ederiz.
#include <boost/beast/core.hpp>
#include <boost/beast/http.hpp>
#include <boost/beast/version.hpp>
#include <boost/beast/websocket.hpp>
Şu satırı dahil ederiz.namespace websocket = boost::beast::websocket; // from <boost/beast/websocket.hpp>
constructorŞöyle yaparız.
boost::asio::io_context ioc = ...;
websocket::stream<tcp::socket> ws (ioc);
async_accept metoduÖrnek ver
async_close metodu
Şöyle yaparız.
ws.async_close(websocket::close_code::normal,
std::bind( &session::on_close, shared_from_this(),
std::placeholders::_1)
);
async_handshake metoduBağlanma işlemi bittikten sonra şöyle yaparız.
std::string host = ...;
ws.async_handshake(host_, "/",
std::bind( &session::on_handshake, shared_from_this(),std::placeholders::_1 )
);
async_read metoduŞöyle yaparız.
boost::beast::multi_buffer buffer;
ws.async_read(buffer,
std::bind( &session::on_read, shared_from_this(),
std::placeholders::_1, std::placeholders::_2 )
);
async_write metoduÖrnek
Şöyle yaparız.
const std::string text = ...;
ws.async_write(boost::asio::buffer(text),
std::bind( &session::on_write, shared_from_this(),
std::placeholders::_1, std::placeholders::_2 )
);
ÖrnekElimizde bir strand olsun.
boost::asio::strand<boost::asio::io_context::executor_type> strand;
Şöyle yaparız.ws.async_write(buffer,
boost::asio::bind_executor(strand,
std::bind(&myclass::on_write, shared_from_this(),
std::placeholders::_1, std::placeholders::_2)));
close metodu
Örnek ver
got_text metodu
Örnek ver
handshake metodu
websocket istemcisini sunucuya bağlamak için kullanılır.
Örnek
resolve işlemi bittikten sonra bağlanmak için şöyle yaparız.
tcp::resolver::results_type results = ...;
boost::asio::async_connect(ws.next_layer (),
results.begin(), results.end(),
std::bind( &session::on_connect, shared_from_this(),std::placeholders::_1 )
Şöyle yaparız.
// Closing the socket cancels all outstanding operations. They
// will complete with boost::asio::error::operation_aborted
ws.next_layer().shutdown(tcp::socket::shutdown_both, ec);
ws.next_layer().close(ec);
read metoduŞöyle yaparız.
boost::beast::multi_buffer buffer;
ws.read(buffer);
Bu çağrıdan sonra okunan veriye erişmek için şöyle yaparız.buffer.data()
text metodu
Şöyle yaparız.
// Echo the message
ws.text(ws.got_text());
write metoduÖrnek ver
Hiç yorum yok:
Yorum Gönder