主要问题是图片的发送接收,因为要实时监视,不能把图片存成文件传。
最好是作为类似于数据流方式的发送接收,请问用什么方法或控件能实现???
最好是作为类似于数据流方式的发送接收,请问用什么方法或控件能实现???
解决方案 »
- 请问高手们:我做完的VB工程调试运行时没有错误,可是MAKE 成.exe ,执行exe 文件时候出错,主窗体显示不完全后死掉,请指教谢谢大家!
- 如何更改Activex Exe的图标?
- Line Input 读出乱码真奇怪
- 难:当后台Service启动一个VB应用程序时,FileSystemObject不能用了?
- 数据库排序问题
- 一个关于回车的问题
- 菜鸟问题(关于控件选择)
- 如何让程序支持鼠标滚轮?
- 如何在listbox中加入一个checkbox,并对其进行操作
- ado数据库的存取,怎么实现啊?急现在有人可以答吗?
- 怎么自定义鼠标的图标???---急
- 结帐!千分求高效的图像压缩算法[第2贴,共6贴]
其中控制命令用TCP协议
图像传输用UDP协议
第一种方式
(1)被监视的机器上启动一个WEB服务(做成一个HTTP web server)
比如:根目录为:$System\Monitor(2)对屏幕一定时间间隔进行Copy并存为图片比如:Desk.jpg
(3)监视端可以以浏览器浏览http://被监视机器的IP:端口/Monitor/Desk.jpg
为了达到实时监视,不断访问http://被监视机器的IP:端口/Monitor/Desk.jpg即可。
第二种方式
(1)对屏幕一定时间间隔进行Copy,直接生成STDPICTURE对象
(2)STDPICTURE对象-〉图像数据数组
(3)利用Winsock Senddata
(4)监视端接收 图像数据数组-〉STDPICTURE
(5)显示
//第二种方式
(1)对屏幕一定时间间隔进行Copy,直接生成STDPICTURE对象
(2)STDPICTURE对象-〉图像数据数组
(3)利用Winsock Senddata
(4)监视端接收 图像数据数组-〉STDPICTURE
(5)显示
//
2,4还是不太了解
能不能写下代码???
.cn
多谢了!!!!!!
这是陨落雕(刘留)兄写的一个网络图像传送例子,我现在没有网络测试环境,只在单机试过,你参考一下吧,试到有什么结果(行还是不行,速度如何)请跟我说一声
好的~~多谢^^
TO:ALL()
多谢各位高手帮忙!!!!!!!
我一定尽快结账~~
足够了。而且,作为只能用winsock拖来拖去的VB来说,可能做这件事并不合适。尤其在服务器端图形
变化比较迅速的情况下。
我很想知道如何降低一幅图的解析度
============================
为了追求速度,尽量模拟实时,一般采用的方法就是降低传输的数据量。而降低传输数据量我知道的一般有两个方面:
1.对图像先压缩再传输,例如我上面给出的陨落雕(刘留)兄写的例子,就是“'用zlib库压缩到ZipStream数组,对此数组进行Base64编码方便网络传输,然后通过TCP协议实现了网络图像传送,传送到对方之后进行Base64解码和zlib的解压,实现了图像的复原。”(作者在程序注释中的原话)。而有些人提出的用第三方控件先把图片转换压缩成jpg文件再用常规方法传输也应该属于这一类。。
2.牺牲图片的质量来换取速度,这种方式最典型的方法并不是“降低一幅图的解析度”,而是减少图片的颜色,好像冰河里进行“远程桌面实时监视”时会有一个选项,可以把受控机器的截屏以黑白图像的方式传输到控制端,应该就是为了提升速度是不是冰河记不清了,年代太久远了。
3.采用所谓“剪影”的方法,即把受控端现时的截屏图像跟上一时刻的截屏图像进行比较,找出不同的地方,传输时就传输这些不同的地方,理论上这种方法应该比较快,但实现难度大,我也只见过有人提出这种设想,并未看到有真正的成品程序或代码实现。。这种的方法可能会有的缺点是在网络状态稳定的情况下,图形传输的速度可能会时快时慢。。或者这种方法用硬件来实现会更好吧。