CN1274119C - 动态修改单板ip地址及子网掩码地址的方法 - Google Patents
动态修改单板ip地址及子网掩码地址的方法 Download PDFInfo
- Publication number
- CN1274119C CN1274119C CNB021600627A CN02160062A CN1274119C CN 1274119 C CN1274119 C CN 1274119C CN B021600627 A CNB021600627 A CN B021600627A CN 02160062 A CN02160062 A CN 02160062A CN 1274119 C CN1274119 C CN 1274119C
- Authority
- CN
- China
- Prior art keywords
- address
- veneer
- socket
- subnet mask
- revise
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明涉及一种动态修改单板IP地址及子网掩码地址的方法,为了将IP地址的修改由静态修改方式变为动态修改方式,利用Psos操作***下支持Socket标准接口的PNA模块,通过调用ioctl函数,按以下步骤动态地修改单板IP地址及子网掩码地址:对***结构进行定义;对已定义好的***结构清零;获取Socket标识符;对***结构进行赋值;调用ioctl函数修改单板的参数;关闭Socket。与静态修改IP地址的传统方式相比,动态修改IP地址最大的好处就在于它无需重新启动单板,能节约启动单板所花费的时间,延长单板的寿命,而且使得IP地址的修改实时性,也减少IP地址修改对其它模块的影响。
Description
技术领域
本发明涉及网络通信领域,更具体地说,涉及一种动态修改单板IP(网际协议)地址或子网掩码地址的方法。
背景技术
一般的程序对于IP地址与子网掩码地址的修改是将所要修改的值赋给程序的全局变量,然后重新运行程序。如果未重新运行程序,则当终端显示IP地址与子网掩码地址已修改时,实际上并未真正完成修改。最简单的现象就是在调试环境中还能继续调试,因为当与单板通信并调试时,主机的调试环境是与单板IP地址有联系的,如果单板IP地址改变,那么主机与单板的联系也应当断开,也就是不能再对单板进行操作了,如果在调试环境中还能继续调试,则说明单板IP地址并未改变。另外,使用Windows操作***中自带的‘ping’命令对IP地址ping包检查,即可看出联系是否已中断。
可见,现有技术虽然修改了单板IP地址,但是需要重新启动才能使用该IP地址,所以这种IP地址的修改实际上是一种静态的修改,而使用者往往忘记了重新启动,导致IP地址其实并没有修改。另外,如果使用者需要多次修改IP地址,采用上述静态修改方式则每次都要重新启动,使得工作效率大大降低。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种动态修改单板IP地址及子网掩码地址的方法,将IP地址的修改由静态修改方式变为动态修改方式,使得无需重新启动就能修改单板的IP地址。
本发明解决其技术问题所采用的技术方案是:一种动态修改单板IP地址及子网掩码地址的方法,其中,利用嵌入式操作***中支持Socket标准接口的网络通讯模块,通过调用ioctl函数,按以下步骤动态地修改单板IP地址或子网掩码地址:对***结构进行定义;对已定义好的***结构清零;获取Socket标识符;对***结构进行赋值;调用ioctl函数修改单板的IP地址或子网掩码地址;关闭Socket。
在本发明所述的方法中,所述嵌入式操作***可以是Psos(实时操作***),所述网络通讯模块为Psos操作***中的PNA(Psos网络部件)模块。
在本发明所述的方法中,所述ioctl函数带有三个参数,所述参数是所述Socket标识符、操作参数和所述***接口结构的指针。
在本发明所述的方法中,所述操作参数为‘SIOCSIFADDR’或‘SIOCSIFNETMASK’;如果操作参数是‘SIOCSIFADDR’,则修改所述单板IP地址;如果操作参数是‘SIOCSIFNETMASK’,则修改所述单板子网掩码地址。
与静态修改IP地址的传统方式相比,动态修改IP地址最大的好处就在于它无需重新启动单板,能节约启动单板所花费的时间,延长单板的寿命,而且使得IP地址的修改实时性,也减少IP地址修改对其它模块的影响。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明方法的流程图。
具体实施方式
为了实现上述方案,本发明中可采用Psos操作***,这是一种嵌入式操作***,不同于普通操作***,它已经被嵌入到单板中,软件运行是基于该***;嵌入式操作***在电子自动控制、电路设计、可以说只要是内嵌有高速CPU的机器(一般是一块电路板)都有使用,比如PDA。Psos操作***按照功能结构分成六个主要模块,每个模块只针对它所对应的处理领域,比如专门计算的计算单元,专门用于调试的调试单元,其中的PNA模块是Psos操作***中专门用于网络通讯的单元,包含所有Psos中支持网络通讯的组件。关于Psos***结构,就是***为了运行而与服务软件结合的一些结构体,可以理解为Psos***的一部分,类似于Windows***中使用的***文件,正确地修改该文件可对***进行优化配置。
要动态地修改IP地址与子网掩码地址,需要直接对硬件接口进行操作,本发明中采用ioctl函数来实现对IP地址与子网掩码地址的动态修改,ioctl是Socket接口中的一个输入、输出操作的函数,它是一个非常强大的函数。同时,本发明中采用Psos操作***的PNA模块(也就是TCP/IP协议模块)来支持Socket接口标准,也就是支持该ioctl函数。关于Socket接口标准,Socket的原义是插口、接口的意思,简单地理解就是底层与上层的一个中间层,底层软件和上层软件在软件开发时都按照统一的标准来编写各自的代码,这样两个软件合并时,就无需再调试了。本发明中所写的就是上层部分,底层软件已经由Psos操作***的制作者按照Socket的统一标准完成了。但是在使用它的接口时,需要区分使用的是Socket标准的函数,同时也可能出现多个Socket,为了区分不同的情况,就要使用Socket标识,它通过标准的Socket函数(就是socket同名函数)获取,获取后在每次调用Socket函数就必须带上这个标识作为参数,***就会知道是在对某一个Socket进行操作,而不是对别的Socket进行操作。
要实现本发明的方法,需要利用Psos操作***的一些的***结构和底层通用的Socket接口功能。
本发明方法的流程如图1所示,其过程包括:
(1)对***结构进行定义,本发明中使用嵌入式操作***作为单板的操作***,操作***实际是一个软件运行的平台,它有多个模块各自支持不同的功能,必然会有支持网络的部分或模块,网络支持和运行的方式是可以被用户修改的,***结构就是用户修改的一个平台,本发明通过修改该平台的参数来达到修改网络的目的;
(2)对已定义好的***结构清零,也就是初始化***结构,避免受到其它影响;
(3)获取Socket标识符;
(4)对***结构进行赋值,也就是修改相应的***结构,修改嵌入式操作***网络结构的属性;
(5)调用ioctl函数修改单板的参数;
(6)然后关闭Socket,完成一次修改动作。
本方法的关键部分在‘调用ioctl函数修改单板的参数’,注意在此之前接口的***结构一定要有相应的赋值,否则是不会成功的。然后调用ioctl函数即可修改单板的参数,ioctl函数所带的三个参数依次是Socket标识符、操作参数和***接口结构的指针。如果操作参数是‘SIOCSIFADDR‘,则整个函数调用的功能就是直接修改IP地址;如果操作参数是‘SIOCSIFNETMASK’,则整个函数调用的功能就是直接修改子网掩码地址。
Psos***在使用***接口结构时不会发现它需要的参数被改变了,通讯时就会按照新的参数来建立TCP/IP连接,这样就等于动态修改了IP地址和子网掩码地址。
需要注意的是,调试工具是以IP地址来认识单板,所以IP地址修改之后,调试工具将认为相应的单板不存在了,所以调试工具会失去连接。但该单板在与外面建立连接时就会使用新的IP地址。通常的静态修改的处理方法则不然,***接口并没有被修改,所以单板还是认为自己是原来的IP地址,只有等到单板重新启动时,重新写***接口参数时才会修改。
本发明中,针对IP地址的修改使用的是SIOCSIFADDR命令字,针对子网掩码地址的修改使用的是SIOCSIFNETMASK命令字。通过调用ioctl***函数直接对端口进行操作,当主程序中调用该函数时,函数的输入参数BoardIP地址、BoardSubIP地址的值将直接修改IP地址值与子网掩码地址值。与静态修改IP地址的传统方式相比,动态修改IP地址最大的好处就在于它无需重新启动单板,能节约启动单板所花费的时间,延长单板的寿命,而且使得IP地址的修改实时性,也减少IP地址修改对其它模块的影响。
Claims (4)
1、一种动态修改单板IP地址及子网掩码地址的方法,其特征在于,利用嵌入式操作***中支持Socket标准接口的网络通讯模块,通过调用ioctl函数,按以下步骤动态地修改单板IP地址或子网掩码地址:
对***结构进行定义;
对已定义好的***结构清零;
获取Socket标识符;
对***结构进行赋值;
调用ioctl函数修改单板的IP地址或子网掩码地址;
关闭Socket。
2、根据权利要求1所述的方法,其特征在于,所述嵌入式操作***为Psos实时操作***,所述网络通讯模块为Psos操作***中的Psos网络部件PNA模块。
3、根据权利要求2所述的方法,其特征在于,所述ioctl函数带有三个参数,所述参数是所述Socket标识符、操作参数和所述***接口结构的指针。
4、根据权利要求3所述的方法,其特征在于,所述操作参数为‘SIOCSIFADDR’或‘SIOCSIFNETMASK’;如果操作参数是‘SIOCSIFADDR’,则修改所述单板IP地址;如果操作参数是‘SIOCSIFNETMASK’,则修改所述单板子网掩码地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021600627A CN1274119C (zh) | 2002-12-26 | 2002-12-26 | 动态修改单板ip地址及子网掩码地址的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021600627A CN1274119C (zh) | 2002-12-26 | 2002-12-26 | 动态修改单板ip地址及子网掩码地址的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1510877A CN1510877A (zh) | 2004-07-07 |
CN1274119C true CN1274119C (zh) | 2006-09-06 |
Family
ID=34237743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021600627A Expired - Fee Related CN1274119C (zh) | 2002-12-26 | 2002-12-26 | 动态修改单板ip地址及子网掩码地址的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1274119C (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7738484B2 (en) * | 2004-12-13 | 2010-06-15 | Intel Corporation | Method, system, and apparatus for system level initialization |
US8412207B2 (en) | 2006-12-21 | 2013-04-02 | Core Wireless Licensing S.A.R.L. | Method of providing a mobility service |
CN107832096A (zh) * | 2017-09-29 | 2018-03-23 | 五八有限公司 | 统一资源定位符配置方法及终端 |
CN114697293B (zh) * | 2022-03-30 | 2023-11-10 | 西安北方华创微电子装备有限公司 | 一种数据传输方法、下位机和控制器 |
-
2002
- 2002-12-26 CN CNB021600627A patent/CN1274119C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1510877A (zh) | 2004-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7797449B2 (en) | Virtual endpoint | |
CN1280726C (zh) | 一种用于嵌入式***软件开发的虚拟机装置 | |
CA2600503C (en) | Method and system for executing a container-managed application on a processing device | |
CN1825283A (zh) | 嵌入式操作***硬件镜像启动优化的实现方法 | |
CN1881883A (zh) | 通信装置和浏览器切换方法 | |
CN100351785C (zh) | 嵌入式***的调试方法 | |
CN1274119C (zh) | 动态修改单板ip地址及子网掩码地址的方法 | |
CN100339848C (zh) | 自动配置或恢复计算机***网络配置的方法 | |
CN1308278A (zh) | 集群服务器的ip容错方法 | |
US20090276527A1 (en) | Light Weight Process Abstraction For Distributed Systems | |
CN1226028A (zh) | 用于无线通信的基于组件的控制结构 | |
CN1801086A (zh) | 应用于Java操作***中设备支持的实现方法 | |
CN103019809B (zh) | 业务处理装置和方法、及业务处理控制装置 | |
CN1315078C (zh) | 一种通过远程配置获取基本输入输出***信息的方法 | |
CN1741404A (zh) | 通信设备中主备板倒换的方法 | |
CN1282921C (zh) | 一种嵌入式操作***的驱动程序加固方法 | |
CN111314567A (zh) | 一种基于多个iad设备级联的通信方法 | |
CN113157351B (zh) | 一种用于表格工具快捷调用的语音插件构建方法 | |
CN2681220Y (zh) | 用于嵌入式***的***启动和测试板 | |
CN113485687A (zh) | 一种基于ice分布式跨语言应用的快速搭建方法及*** | |
CN1731317A (zh) | 兼容标准计算机键盘的仪器键盘控制装置 | |
CN111651147B (zh) | 一种***快速搭建组件的方法 | |
CN1258155C (zh) | 在操作***中替换***函数功能的方法 | |
CN100350809C (zh) | 便携式电子装置及其电源管理方法 | |
CN1369762A (zh) | 两用电脑键盘及其自动检测接口状态的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060906 Termination date: 20141226 |
|
EXPY | Termination of patent right or utility model |