diff options
author | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2015-08-17 23:41:44 +0300 |
---|---|---|
committer | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2015-08-17 23:41:44 +0300 |
commit | 8c24fe5997591ac4925736d68636b98edf021f43 (patch) | |
tree | f6a012ce38a66006f010b41e0a311395f09325e7 /server/src/server_session.cpp | |
parent | 3627d42af059a52d2095efc783550fe589d68bcb (diff) |
server:
server-session init bug fixed
bit of trace log
client-qt:
bit of trace log
Diffstat (limited to 'server/src/server_session.cpp')
-rw-r--r-- | server/src/server_session.cpp | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/server/src/server_session.cpp b/server/src/server_session.cpp index 811b411..d8c4f07 100644 --- a/server/src/server_session.cpp +++ b/server/src/server_session.cpp @@ -34,6 +34,13 @@ extern std::map<std::string, client> clients; server_session::server_session(boost::asio::io_service &s, runtime_config_s &config, std::map<std::string, client*> &clients_, boost::asio::ssl::context *c) : io_service_(s), context_(c), runtime_config(config), clients(clients_) { + if(runtime_config.config_file.get<bool>("server.enable_encryption", false)) + { + socket_ = new socket_wraper(new boost::asio::ssl::stream<boost::asio::ip::tcp::socket>(io_service_, *context_)); + socket_->get_ssl_socket().async_handshake(boost::asio::ssl::stream_base::server, boost::bind(&server_session::handle_handshake, this, boost::asio::placeholders::error)); + } + else + socket_ = new socket_wraper(new boost::asio::ip::tcp::socket(io_service_)); } socket_wraper* server_session::socket() @@ -44,17 +51,8 @@ socket_wraper* server_session::socket() void server_session::run() { - if(runtime_config.config_file.get<bool>("server.enable_encryption", false)) - { - socket_ = new socket_wraper(new boost::asio::ssl::stream<boost::asio::ip::tcp::socket>(io_service_, *context_)); - socket_->get_ssl_socket().async_handshake(boost::asio::ssl::stream_base::server, boost::bind(&server_session::handle_handshake, this, boost::asio::placeholders::error)); - } - else - { - socket_ = new socket_wraper(new boost::asio::ip::tcp::socket(io_service_)); - recv_data_ = new char[4]; - boost::asio::async_read(*socket_, boost::asio::buffer(recv_data_, 4), boost::bind(&server_session::handle_read, this, boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred)); - } + recv_data_ = new char[4]; + boost::asio::async_read(*socket_, boost::asio::buffer(recv_data_, 4), boost::bind(&server_session::handle_read, this, boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred)); } void server_session::handle_handshake(const boost::system::error_code& error) @@ -99,6 +97,7 @@ void server_session::handle_read(const boost::system::error_code& error, size_t if(msg.ParseFromString(s)) { //parsed = true; + BOOST_LOG_TRIVIAL(trace)<<"received message:\n"<<msg.DebugString(); handle_command(&msg); recv_data_ = new char[4]; boost::asio::async_read(*socket_, boost::asio::buffer(recv_data_, 4), boost::bind(&server_session::handle_read, this, boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred)); |