diff options
Diffstat (limited to 'doc/html/boost_asio/example/cpp11/echo')
6 files changed, 0 insertions, 438 deletions
diff --git a/doc/html/boost_asio/example/cpp11/echo/async_tcp_echo_server.cpp b/doc/html/boost_asio/example/cpp11/echo/async_tcp_echo_server.cpp deleted file mode 100644 index 2f679e245e..0000000000 --- a/doc/html/boost_asio/example/cpp11/echo/async_tcp_echo_server.cpp +++ /dev/null @@ -1,116 +0,0 @@ -// -// async_tcp_echo_server.cpp -// ~~~~~~~~~~~~~~~~~~~~~~~~~ -// -// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -#include <cstdlib> -#include <iostream> -#include <memory> -#include <utility> -#include <boost/asio.hpp> - -using boost::asio::ip::tcp; - -class session - : public std::enable_shared_from_this<session> -{ -public: - session(tcp::socket socket) - : socket_(std::move(socket)) - { - } - - void start() - { - do_read(); - } - -private: - void do_read() - { - auto self(shared_from_this()); - socket_.async_read_some(boost::asio::buffer(data_, max_length), - [this, self](boost::system::error_code ec, std::size_t length) - { - if (!ec) - { - do_write(length); - } - }); - } - - void do_write(std::size_t length) - { - auto self(shared_from_this()); - boost::asio::async_write(socket_, boost::asio::buffer(data_, length), - [this, self](boost::system::error_code ec, std::size_t /*length*/) - { - if (!ec) - { - do_read(); - } - }); - } - - tcp::socket socket_; - enum { max_length = 1024 }; - char data_[max_length]; -}; - -class server -{ -public: - server(boost::asio::io_service& io_service, short port) - : acceptor_(io_service, tcp::endpoint(tcp::v4(), port)), - socket_(io_service) - { - do_accept(); - } - -private: - void do_accept() - { - acceptor_.async_accept(socket_, - [this](boost::system::error_code ec) - { - if (!ec) - { - std::make_shared<session>(std::move(socket_))->start(); - } - - do_accept(); - }); - } - - tcp::acceptor acceptor_; - tcp::socket socket_; -}; - -int main(int argc, char* argv[]) -{ - try - { - if (argc != 2) - { - std::cerr << "Usage: async_tcp_echo_server <port>\n"; - return 1; - } - - boost::asio::io_service io_service; - - server s(io_service, std::atoi(argv[1])); - - io_service.run(); - } - catch (std::exception& e) - { - std::cerr << "Exception: " << e.what() << "\n"; - } - - return 0; -} diff --git a/doc/html/boost_asio/example/cpp11/echo/async_udp_echo_server.cpp b/doc/html/boost_asio/example/cpp11/echo/async_udp_echo_server.cpp deleted file mode 100644 index c457d6d400..0000000000 --- a/doc/html/boost_asio/example/cpp11/echo/async_udp_echo_server.cpp +++ /dev/null @@ -1,82 +0,0 @@ -// -// async_udp_echo_server.cpp -// ~~~~~~~~~~~~~~~~~~~~~~~~~ -// -// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -#include <cstdlib> -#include <iostream> -#include <boost/asio.hpp> - -using boost::asio::ip::udp; - -class server -{ -public: - server(boost::asio::io_service& io_service, short port) - : socket_(io_service, udp::endpoint(udp::v4(), port)) - { - do_receive(); - } - - void do_receive() - { - socket_.async_receive_from( - boost::asio::buffer(data_, max_length), sender_endpoint_, - [this](boost::system::error_code ec, std::size_t bytes_recvd) - { - if (!ec && bytes_recvd > 0) - { - do_send(bytes_recvd); - } - else - { - do_receive(); - } - }); - } - - void do_send(std::size_t length) - { - socket_.async_send_to( - boost::asio::buffer(data_, length), sender_endpoint_, - [this](boost::system::error_code /*ec*/, std::size_t /*bytes_sent*/) - { - do_receive(); - }); - } - -private: - udp::socket socket_; - udp::endpoint sender_endpoint_; - enum { max_length = 1024 }; - char data_[max_length]; -}; - -int main(int argc, char* argv[]) -{ - try - { - if (argc != 2) - { - std::cerr << "Usage: async_udp_echo_server <port>\n"; - return 1; - } - - boost::asio::io_service io_service; - - server s(io_service, std::atoi(argv[1])); - - io_service.run(); - } - catch (std::exception& e) - { - std::cerr << "Exception: " << e.what() << "\n"; - } - - return 0; -} diff --git a/doc/html/boost_asio/example/cpp11/echo/blocking_tcp_echo_client.cpp b/doc/html/boost_asio/example/cpp11/echo/blocking_tcp_echo_client.cpp deleted file mode 100644 index db56bf5608..0000000000 --- a/doc/html/boost_asio/example/cpp11/echo/blocking_tcp_echo_client.cpp +++ /dev/null @@ -1,55 +0,0 @@ -// -// blocking_tcp_echo_client.cpp -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// -// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -#include <cstdlib> -#include <cstring> -#include <iostream> -#include <boost/asio.hpp> - -using boost::asio::ip::tcp; - -enum { max_length = 1024 }; - -int main(int argc, char* argv[]) -{ - try - { - if (argc != 3) - { - std::cerr << "Usage: blocking_tcp_echo_client <host> <port>\n"; - return 1; - } - - boost::asio::io_service io_service; - - tcp::socket s(io_service); - tcp::resolver resolver(io_service); - boost::asio::connect(s, resolver.resolve({argv[1], argv[2]})); - - std::cout << "Enter message: "; - char request[max_length]; - std::cin.getline(request, max_length); - size_t request_length = std::strlen(request); - boost::asio::write(s, boost::asio::buffer(request, request_length)); - - char reply[max_length]; - size_t reply_length = boost::asio::read(s, - boost::asio::buffer(reply, request_length)); - std::cout << "Reply is: "; - std::cout.write(reply, reply_length); - std::cout << "\n"; - } - catch (std::exception& e) - { - std::cerr << "Exception: " << e.what() << "\n"; - } - - return 0; -} diff --git a/doc/html/boost_asio/example/cpp11/echo/blocking_tcp_echo_server.cpp b/doc/html/boost_asio/example/cpp11/echo/blocking_tcp_echo_server.cpp deleted file mode 100644 index 31d6bee055..0000000000 --- a/doc/html/boost_asio/example/cpp11/echo/blocking_tcp_echo_server.cpp +++ /dev/null @@ -1,76 +0,0 @@ -// -// blocking_tcp_echo_server.cpp -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// -// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -#include <cstdlib> -#include <iostream> -#include <thread> -#include <utility> -#include <boost/asio.hpp> - -using boost::asio::ip::tcp; - -const int max_length = 1024; - -void session(tcp::socket sock) -{ - try - { - for (;;) - { - char data[max_length]; - - boost::system::error_code error; - size_t length = sock.read_some(boost::asio::buffer(data), error); - if (error == boost::asio::error::eof) - break; // Connection closed cleanly by peer. - else if (error) - throw boost::system::system_error(error); // Some other error. - - boost::asio::write(sock, boost::asio::buffer(data, length)); - } - } - catch (std::exception& e) - { - std::cerr << "Exception in thread: " << e.what() << "\n"; - } -} - -void server(boost::asio::io_service& io_service, unsigned short port) -{ - tcp::acceptor a(io_service, tcp::endpoint(tcp::v4(), port)); - for (;;) - { - tcp::socket sock(io_service); - a.accept(sock); - std::thread(session, std::move(sock)).detach(); - } -} - -int main(int argc, char* argv[]) -{ - try - { - if (argc != 2) - { - std::cerr << "Usage: blocking_tcp_echo_server <port>\n"; - return 1; - } - - boost::asio::io_service io_service; - - server(io_service, std::atoi(argv[1])); - } - catch (std::exception& e) - { - std::cerr << "Exception: " << e.what() << "\n"; - } - - return 0; -} diff --git a/doc/html/boost_asio/example/cpp11/echo/blocking_udp_echo_client.cpp b/doc/html/boost_asio/example/cpp11/echo/blocking_udp_echo_client.cpp deleted file mode 100644 index 81de8d341b..0000000000 --- a/doc/html/boost_asio/example/cpp11/echo/blocking_udp_echo_client.cpp +++ /dev/null @@ -1,57 +0,0 @@ -// -// blocking_udp_echo_client.cpp -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// -// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -#include <cstdlib> -#include <cstring> -#include <iostream> -#include <boost/asio.hpp> - -using boost::asio::ip::udp; - -enum { max_length = 1024 }; - -int main(int argc, char* argv[]) -{ - try - { - if (argc != 3) - { - std::cerr << "Usage: blocking_udp_echo_client <host> <port>\n"; - return 1; - } - - boost::asio::io_service io_service; - - udp::socket s(io_service, udp::endpoint(udp::v4(), 0)); - - udp::resolver resolver(io_service); - udp::endpoint endpoint = *resolver.resolve({udp::v4(), argv[1], argv[2]}); - - std::cout << "Enter message: "; - char request[max_length]; - std::cin.getline(request, max_length); - size_t request_length = std::strlen(request); - s.send_to(boost::asio::buffer(request, request_length), endpoint); - - char reply[max_length]; - udp::endpoint sender_endpoint; - size_t reply_length = s.receive_from( - boost::asio::buffer(reply, max_length), sender_endpoint); - std::cout << "Reply is: "; - std::cout.write(reply, reply_length); - std::cout << "\n"; - } - catch (std::exception& e) - { - std::cerr << "Exception: " << e.what() << "\n"; - } - - return 0; -} diff --git a/doc/html/boost_asio/example/cpp11/echo/blocking_udp_echo_server.cpp b/doc/html/boost_asio/example/cpp11/echo/blocking_udp_echo_server.cpp deleted file mode 100644 index db37fcf5b6..0000000000 --- a/doc/html/boost_asio/example/cpp11/echo/blocking_udp_echo_server.cpp +++ /dev/null @@ -1,52 +0,0 @@ -// -// blocking_udp_echo_server.cpp -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// -// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) -// -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -#include <cstdlib> -#include <iostream> -#include <boost/asio.hpp> - -using boost::asio::ip::udp; - -enum { max_length = 1024 }; - -void server(boost::asio::io_service& io_service, unsigned short port) -{ - udp::socket sock(io_service, udp::endpoint(udp::v4(), port)); - for (;;) - { - char data[max_length]; - udp::endpoint sender_endpoint; - size_t length = sock.receive_from( - boost::asio::buffer(data, max_length), sender_endpoint); - sock.send_to(boost::asio::buffer(data, length), sender_endpoint); - } -} - -int main(int argc, char* argv[]) -{ - try - { - if (argc != 2) - { - std::cerr << "Usage: blocking_udp_echo_server <port>\n"; - return 1; - } - - boost::asio::io_service io_service; - - server(io_service, std::atoi(argv[1])); - } - catch (std::exception& e) - { - std::cerr << "Exception: " << e.what() << "\n"; - } - - return 0; -} |