背景介绍:DHCP客户端在入网后获取了一个IP,如何使得当客户端再下次获取IP的时候,依然是保证和第一次获得的IP相同,即:从客户端来实现始终获得相同的IP,请问这个怎么去实现(只是从客户端去指定ip,而不是让服务端去指定)
问题:怎么在代码中c++实现这个流程
你要不干脆问怎么用c++设置静态ip?
DHCP结果是DHCP服务器指定的,你设置了静态ip也得考虑同局域网电脑已经获取了你之前用的ip吧?直接用旧的存在冲突可能。
客户端应该算是被动的啊……
不过可以每次租约期内进行续约,以继续使用这个ip地址,一般在租约时间到一般的时候dhcp服务器会通知客户端进行续约,此时客户端做续约操作即可继续使用该ip了。
还有一种方式是服务器指定该客户端一个ip了
DHCP就是动态的,如果你又弄了动态又弄了静态的,就可能会有冲突。
如果希望相对固定,可以延长租期。
方案一:
通过for+if进行判断获取的是否是自己要的,如果不是就释放重新获取,缺点是:1、地址已经分配使用,无法在从dhcp服务器获取到该ip;2、如果地址段较大获取地址的时间会较长;
方案二:
在交换机或路由器进行arp+mac绑定。
记录mac地址,没有过租期,ip保留,就给该mac分配原来的地址,过来租期就ip地址回收。
第一次连接后保存ip,下一次设置用这个就行