已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > C/C++

标题: 继上帖remote_command同时支持ipv4和ipv6

作者: @Ta

时间: 2020-10-16发布,2020-10-16修改

点击: 2114

对于ipv6测试也只能本地测试
修复IP白名单问题
注意点:
创建ipv4和ipv6的socket,同时监听某个端口的ipv4和ipv6报文,运行时bind函数执行失败,提示“bind: Address already in use”。
原因:ipv6的socket默认情况下也会接收ipv4地址的报文,不同的socket不能监听同样的ip同样的端口。
方法:设置ipv6的socket只接收ipv6地址的报文
int on = 1;
if (setsockopt(fd_v6, IPPROTO_IPV6, IPV6_V6ONLY, &on, sizeof(on)) < 0)
{
    perror("setsockopt");
    return -1;
}





本地测试效果图
1602835129.png

源码
remote_command.zip(700.03 KB)


[隐藏样式|查看源码]


『回复列表(0|隐藏机器人聊天)』

帖子没有回复
回复需要登录

7月14日 00:11 星期一

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1