Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * server.cpp
- *
- * Created on: 25.03.2011
- * Author: Konrad Johannes Reiche
- */
- #include "server.h"
- server::server(int port) {
- try {
- boost::asio::io_service io_service;
- tcp_server server(io_service, port);
- io_service.run();
- } catch (std::exception& e) {
- std::cerr << e.what() << std::endl;
- }
- }
- server::~server() {
- // TODO Auto-generated destructor stub
- }
- tcp_server::tcp_server(boost::asio::io_service& io_service, int port) :
- acceptor_(io_service, tcp::endpoint(tcp::v4(), port)) {
- start_accept();
- }
- void tcp_server::start_accept() {
- tcp_connection::pointer new_connection = tcp_connection::create(
- acceptor_.io_service());
- acceptor_.async_accept(new_connection->socket(), boost::bind(
- &tcp_server::handle_accept, this, new_connection,
- boost::asio::placeholders::error));
- }
- void tcp_server::handle_accept(tcp_connection::pointer new_connection,
- const boost::system::error_code& error) {
- if (!error) {
- new_connection->start();
- start_accept();
- }
- }
- void tcp_connection::start() {
- message_ = "I'm alive\n";
- boost::asio::async_write(socket_, boost::asio::buffer(message_),
- boost::bind(&tcp_connection::handle_write, shared_from_this(),
- boost::asio::placeholders::error,
- boost::asio::placeholders::bytes_transferred));
- }
- void tcp_connection::handle_write(const boost::system::error_code&, size_t) {
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement