void acceptHandler(const TcpConnectionPtr& connection) { postAcceptEvent(); if (connection->isOpen()) { if (!_newConnectionCallback.empty()) { //构造通信地址结构 tcp::socket& socket = connection->socket(); std::string remote_address = socket.remote_endpoint().address().to_string(); uint16 remote_port = socket.remote_endpoint().port(); InetAddress peerAddress(remote_address, remote_port); //回调到新连接处理函数 _newConnectionCallback(connection, peerAddress); } else { connection->close(); } } }
void NetworkProxy::close_connection(const TcpConnectionPtr& connection) { connection->shutdown(); connection->close(); }