Chinaunix首页 | 论坛 | 博客
  • 博客访问: 50833
  • 博文数量: 6
  • 博客积分: 139
  • 博客等级: 入伍新兵
  • 技术积分: 120
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-29 15:00
文章分类
文章存档

2011年(6)

分类: 系统运维

2011-06-30 16:05:49

一、问题描述

在嵌入式开发板上利用thttp服务器发布的本地网页,实现设备的本地配置。其中有一项功能是现实对设备IP地址以及子网掩码的修改。现在出现的问题是:完成设备IP地址的修改之后,因为配置网页的IP地址也做了相应的改变,导致修改成功之后的信息无法反馈,也无法跳转到新的页面。

 

二、开发环境

Thttp服务器+arm开发板+linux系统

 

三、思路

(参考原文地址:)根据帖子里大牛们的讨论,得出以下解决思路:

1、  通过表单提交需要设置的信息给thttp服务器

2、  CGI程序提取相应的信息并修改对应的配置文件

3、  CGI程序返回“成功配置,等待跳转”的页面,并且设置页面延时4s之后跳转到新设置的IP地址发布的网页,CGI程序退出。

注意:此时设备的IP地址并没有发生改变,只是作为一个反馈,和跳转的设置。

跳转页面的代码:

其中 即为新设置的IP地址上发布的网页

4、  后台运行的守护进程,每隔2s时间检查一次配置文件是否修改,若有修改则读取新写入的IP地址和子网掩码,然后修改系统的IP地址和子网掩码为对应值。

a) 守护进程完成一些初始化工作之后调用stat函数读取配置文件的最后修改时间

b) 守护进程运行一个while1)循环

c) 休眠2s后,再次读取文件的最后修改时间值

d) 对前后两次读取的时间值做比较,若不一样,则说明配置文件内容有变化。做修改IP的操作,并且把原有的时间值替换成新的时间值。若一样则进行下一次循环。

阅读(15141) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~