boost :: asio async_accept拒绝连接

Min*_*ope 6 c++ sockets boost boost-asio

我的应用程序有一个asio服务器套接字,必须接受来自已定义的IP列表的连接.

此过滤器必须由应用程序(而不是系统)完成,因为它可以随时更改(我必须能够随时更新此列表)

客户端必须收到acces_denied错误.

我想当调用handle_accept回调时,已经发送了SYN/ACK,所以当我检测到连接的ip est不被允许时,不要接受然后粗暴地关闭.我不管理客户端行为,也许当连接被拒绝并且只是被对等关闭时,它的行为不一样,所以我想干净一切.(但这就是我当下的事情)

你知道我怎么做吗???

我的访问列表是std :: strings的容器(但我可以将它转换为其他东西的计数器....)

非常感谢你

Sam*_*ler 5

async_accept方法有一个过载,以获得对等端点.您可以在async_accept处理程序中比较该值.如果它与容器中的条目不匹配,请让套接字超出范围.否则,根据您的应用程序处理它.