大佬教程收集整理的这篇文章主要介绍了c – 如何为套接字设置多个路由条目?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
struct sockaddr rt_dst; /* Target address. */ struct sockaddr rt_gateway; /* Gateway addr (RTF_GATEWAY). */ struct sockaddr rt_genmask; /* Target network mask (Ip). */
但是我如何在这里设置多个条目?
创建多个rtentry并调用ioctl(FileDes,SIOCADDRT和& rtentry)将解决我的问题?
int32_t FileDes = socket(PF_INET,SOCK_DGRAM,IPPROTO_Ip); for(auto RtEntry : RtEntriesList) { ioctl(FileDes,SIOCADDRT,RtEntry)` }
int32_t FileDes = socket(PF_INET,IPPROTO_Ip); struct rtentry Route1; struct rtentry Route2; struct rtentry Route3; // configure Route1 // configure Route2 // configure Route3 RtEntriesList.push_BACk(&Route1); RtEntriesList.push_BACk(&Route2); RtEntriesList.push_BACk(&Route3); for(auto RtEntry : RtEntriesList) { ioctl(FileDes,RtEntry); }
将工作,我们可以创建多个路由条目并添加到套接字FD.这将更新系统范围的路由表.
它类似于route add ..命令
为了测试我将网关设置为我的PC IP地址并在那里启动wireshark.设置路由配置后,给定的IP范围将路由到我的PC.感谢@osgx提供了实际设置系统范围路由表的信息.
以上是大佬教程为你收集整理的c – 如何为套接字设置多个路由条目?全部内容,希望文章能够帮你解决c – 如何为套接字设置多个路由条目?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。