Fixing bug with connection closed unexpectedly
This commit is contained in:
parent
ae93b73f27
commit
6a7ced5a80
43
main.cpp
43
main.cpp
@ -136,6 +136,8 @@ private:
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
std::string msg = ec.message();
|
||||||
|
std::cout << msg << std::endl;
|
||||||
lowerSocket().close();
|
lowerSocket().close();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -180,11 +182,15 @@ private:
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
std::string msg = ec.message();
|
||||||
|
std::cout << msg << std::endl;
|
||||||
lowerSocket().close();
|
lowerSocket().close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
std::string msg = ec.message();
|
||||||
|
std::cout << msg << std::endl;
|
||||||
lowerSocket().close();
|
lowerSocket().close();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -211,6 +217,8 @@ private:
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
std::string msg = ec.message();
|
||||||
|
std::cout << msg << std::endl;
|
||||||
lowerSocket().close();
|
lowerSocket().close();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -237,7 +245,10 @@ private:
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
std::string msg = ec.message();
|
||||||
|
std::cout << msg << std::endl;
|
||||||
lowerSocket().close();
|
lowerSocket().close();
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -275,11 +286,15 @@ private:
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
std::string msg = ec.message();
|
||||||
|
std::cout << msg << std::endl;
|
||||||
lowerSocket().close();
|
lowerSocket().close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
std::string msg = ec.message();
|
||||||
|
std::cout << msg << std::endl;
|
||||||
lowerSocket().close();
|
lowerSocket().close();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -610,6 +625,15 @@ private:
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
else if (ec == boost::asio::error::eof)
|
||||||
|
{
|
||||||
|
std::cout << "transferDataForward read end of file" << std::endl;
|
||||||
|
if (length > 0)
|
||||||
|
{
|
||||||
|
std::cout << "but length is positive" << std::endl;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
std::string msg = ec.message();
|
std::string msg = ec.message();
|
||||||
@ -654,6 +678,15 @@ private:
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
else if (ec == boost::asio::error::eof)
|
||||||
|
{
|
||||||
|
std::cout << "transferDataBackward read end of file" << std::endl;
|
||||||
|
if (length > 0)
|
||||||
|
{
|
||||||
|
std::cout << "but length is positive" << std::endl;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
std::string msg = ec.message();
|
std::string msg = ec.message();
|
||||||
@ -682,10 +715,11 @@ class ProxyServer
|
|||||||
public:
|
public:
|
||||||
ProxyServer(boost::asio::io_service& inIoService,
|
ProxyServer(boost::asio::io_service& inIoService,
|
||||||
const boost::asio::ip::tcp::endpoint& endpoint,
|
const boost::asio::ip::tcp::endpoint& endpoint,
|
||||||
boost::asio::ssl::context& sslContext)
|
boost::asio::ssl::context& inSslContext)
|
||||||
: ioService(inIoService)
|
: ioService(inIoService)
|
||||||
, acceptor(inIoService, endpoint)
|
, acceptor(inIoService, endpoint)
|
||||||
, socket(std::make_shared<ssl_socket>(inIoService, sslContext))
|
, socket(std::make_shared<ssl_socket>(inIoService, inSslContext))
|
||||||
|
, sslContext(inSslContext)
|
||||||
{
|
{
|
||||||
doAccept();
|
doAccept();
|
||||||
}
|
}
|
||||||
@ -703,6 +737,8 @@ private:
|
|||||||
|
|
||||||
counter++;
|
counter++;
|
||||||
|
|
||||||
|
socket = std::make_shared<ssl_socket>(ioService, sslContext);
|
||||||
|
|
||||||
doAccept();
|
doAccept();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -712,6 +748,8 @@ private:
|
|||||||
boost::asio::ip::tcp::acceptor acceptor;
|
boost::asio::ip::tcp::acceptor acceptor;
|
||||||
std::shared_ptr<ssl_socket> socket;
|
std::shared_ptr<ssl_socket> socket;
|
||||||
|
|
||||||
|
boost::asio::ssl::context& sslContext;
|
||||||
|
|
||||||
//std::map<size_t, ProxySession> proxySessionMap;
|
//std::map<size_t, ProxySession> proxySessionMap;
|
||||||
|
|
||||||
size_t counter = 0;
|
size_t counter = 0;
|
||||||
@ -728,7 +766,6 @@ int main()
|
|||||||
|
|
||||||
boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::tcp::v4(), 8043);
|
boost::asio::ip::tcp::endpoint endpoint(boost::asio::ip::tcp::v4(), 8043);
|
||||||
|
|
||||||
|
|
||||||
boost::asio::ssl::context sslContext(boost::asio::ssl::context::sslv23);
|
boost::asio::ssl::context sslContext(boost::asio::ssl::context::sslv23);
|
||||||
|
|
||||||
sslContext.set_options(
|
sslContext.set_options(
|
||||||
|
Loading…
Reference in New Issue
Block a user