欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

晋级文件系统时有没有办法在网页中作进度

更新时间: 2014-01-05 02:03:26 责任编辑: Author_N1

 

升级文件系统时有没有办法在网页中作进度
  嵌入式做文件系统升级时能不能在网页中作进度条,goahead的web server,cgi脚本,升级前我已经把指定文件上传到了原有的文件系统,然后就是升级该文件,升级时,先把该文件读到内存,再擦除原有的文件系统,只有内存中的数据可以用,用c语言升级的,可以知道升级的进度,就是能不能把该进度在网页中显示。有哪位高手帮忙,谢谢!!
------最佳解决方案--------------------
我在你另外一个帖里,已经讲了,直接向端口通讯,你也多少了解一些,比如广播,向255发就是了.
这和上面讲的SOCKET有点关系,但不是通过FLASH去做,而是直接用C就这样,也更好,因为对系统的依赖更小.如果用FLASH,那你的HTTP服务必须开着,升级的时候到底还存不存在这个环境都未必.
如果存在的话,之前说的很多方式都可以实现,比如我自己就讲了四种之多了,而且都是挑非常容易实现的方法来说的.
后来你说那些方式依赖度大,所以最后的方法,既然你的升级C程序肯定是在内存存在的,那么让它边升级,边向端口发数据就可以了.至于你说如果网络不通的情况下,那就怎么都没任何招了.那样的情况,也不会硬要求程序实现,人工电话服务吧,或者3G视频,呵呵.如果网断的,用程序还能实现网络进度实际显示,那肯定能得到诺贝尔奖了.
------其他解决方案--------------------
只要知道升级进度,就可以。
这种问题,上个月就回答过一次。当时也是说用C的,是不是还是你啊。难道还没想明白?
而且,我现在觉得这个问题,比上次解决的方式还能够更简单!
用C写一个TXT文件就可以了。进度是45%,就写入“45%”这样的三个字符就OK。
在网页里,用定时器刷新一个IFRAME或FRAMESET,目标就是这个TXT文件,自然就显示进度文字信息了。

还可以做成CSS文件来表现进度条。内容如下:
.进度 {width:进度值px;height:20px;background:red;} 进度值给它乘个倍数,看着明显些。
在网页里,<div class="进度"> </div> 刷新应用外部CSS样式,就可以看到不断增长的进度条。

加上上次写成JS的方式。
------其他解决方案--------------------
引用:
只要知道升级进度,就可以。
这种问题,上个月就回答过一次。当时也是说用C的,是不是还是你啊。难道还没想明白?
而且,我现在觉得这个问题,比上次解决的方式还能够更简单!
用C写一个TXT文件就可以了。进度是45%,就写入“45%”这样的三个字符就OK。
在网页里,用定时器刷新一个IFRAME或FRAMESET,目标就是这个TXT文件,自然就显示进度文字信息了。

还可以做成CSS文件来表……


      恩 就是我 上次解决了,就是写文件的形式解决的。
       之所以还问,就是因为我们是升级文件系统,升级前把整个文件系统(相当于硬盘格式化),连文件系统都没了,任何文件也都不能以文件的形式保存了,所以读写文件的不行。要等文件系统升级完成后才能写文件,保存文件。
       悲剧吧!!
------其他解决方案--------------------
是够悲剧的。但这样的话,干嘛不就在C程序里直接屏显进度,干嘛非要在网页里显示呢。
------其他解决方案--------------------
如果网页不和外部的数据沟通,它只能运行事先写在里面的脚本,那样的话,就是“伪”的。如果,这个时间是比较固定的,伪的也可以。否则就不好办。毕竟你想用C和浏览器直接沟通内存并且更新显示的话,那几乎难到不可能。

不过,可以绕过所有这些。直接写屏。看上去象是网页上数据变化,实际是操作屏幕。
------其他解决方案--------------------
引用:
如果网页不和外部的数据沟通,它只能运行事先写在里面的脚本,那样的话,就是“伪”的。如果,这个时间是比较固定的,伪的也可以。否则就不好办。毕竟你想用C和浏览器直接沟通内存并且更新显示的话,那几乎难到不可能。

不过,可以绕过所有这些。直接写屏。看上去象是网页上数据变化,实际是操作屏幕。



    这是做的远程的升级,客户端用网页操作,使服务端进行升级,进度要反映在客户端。服务端是知道进度的。关键是要让客户端知道这个进度,不管伪的还是真实的,接近真实就行。。要求就是那样,悲剧的就是我这样的。。。就是主机在升级系统,客户端要知道进度,不管用什么方法,在网页上显示进度就行!!升级别的还好说,关键就是升级的是系统。。。
------其他解决方案--------------------
用socket 连接总行了吧.... flash 的socket 是相当简单的
------其他解决方案--------------------
引用:
用socket 连接总行了吧.... flash 的socket 是相当简单的


socket没接触过,还不懂!就是客户端去升级服务器,还必须要在客户端的网页中显示升级进度,升级的时候服务器的系统没了(就是系统升级,先格掉旧系统,在重装新系统),这样能在客户端通过网页看到进度?如果可以的话我认真看看socket去了,现在还有点别的事。。。。
------其他解决方案--------------------
引用:
我在你另外一个帖里,已经讲了,直接向端口通讯,你也多少了解一些,比如广播,向255发就是了.
这和上面讲的SOCKET有点关系,但不是通过FLASH去做,而是直接用C就这样,也更好,因为对系统的依赖更小.如果用FLASH,那你的HTTP服务必须开着,升级的时候到底还存不存在这个环境都未必.
如果存在的话,之前说的很多方式都可以实现,比如我自己就讲了四种之多了,而且都是挑非常容易实现的方法来说的……


    我就是多发几个帖子来看看有什么方法,原来我们没测试的东西,因为要格系统嘛,我就是担心网络不通,就想能不能只依靠内存不依靠硬盘就能让网络通,然后现在也不做得那么复杂了,在源头上做起,既然格系统会断网,那我就再做个系统,在一个硬盘上保存两个文件系统,把内核的指针改变一下就行了。那样升级第一个文件系统的时候我当前运行的环境就用第二个文件系统,当内核加载文件系统时把地址告诉内核就行。然后那样就省了很多事,代价就是多用了一些硬盘而已。方法虽然不怎么样,但省了很多事,因为其他很多地方也是要依赖系统的一些东西的。。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:03:26
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/5134/
本文WWW.DOC100.NET DOC100.NET版权所有。