| 网站首页 | VB.Net实例分析 | .Net技术文摘 | 下载中心 | VB.Net书籍笔记 | .Net源码 | VBS脚本与组件调用 | Windows2008技术文摘 | 给我们留言 | 
最新公告:

  没有公告

您现在的位置: 乐博网 >> VB.Net应用技巧 >> 技术文摘正文
最新推荐 更多内容
VB.Net远程监控视频的传输优化
VB.Net远程监控视频的传输优化
作者:zyx_hawk    来源:乐博网收集     更新时间:2007-11-6
远程视频传输可以采用线程下载、图片压缩,还可以考虑先储存进数据库中 

  Private   sckConnect   As   New   Socket(AddressFamily.InterNetwork,   SocketType.Stream,   ProtocolType.Tcp)
        Private   RemoteIp   As   IPEndPoint
        Private   thd   As   Thread
        Private   blnExt   As   Boolean   =   True
        Private   _Quality   As   Int16   =   50


        Public   WriteOnly   Property   Quality()   As   Int16 ’这个函数表示服务器要求的图片质量
                Set(ByVal   value   As   Int16)
                        _Quality   =   value
                End   Set
        End   Property


        Private   Sub   run()
                Dim   byt()   As   Byte
                Dim   stream   As   MemoryStream
                Dim   bmp   As   Bitmap
                While   blnExt

                        Try
                                bmp   =   getGrcToBmp()    '这是获取图片
                                stream   =   New   MemoryStream
                                Compress(bmp,   stream,   _Quality)   '这里对图片进行压缩函数
                                byt   =   stream.ToArray
                                sckConnect.Send(byt,   byt.Length,   SocketFlags.None)
                                byt.Initialize()
                                stream   =   Nothing
                                Thread.Sleep(30)   '30毫秒,也就是1秒中传送33次图片
                        Catch   ex   As   Exception
                                Call   Ext()
                        End   Try

                End   While

        End   Sub

        Public   Sub   Send(ByVal   ip   As   String,   ByVal   port   As   Integer)  '服务器的IP和Port
                Try
                        RemoteIp   =   New   IPEndPoint(IPAddress.Parse(ip),   port)
                        sckConnect.SendTimeout   =   100
                        sckConnect.Connect(RemoteIp)
                        If   sckConnect.Connected   Then
                                thd   =   New   Thread(AddressOf   run)
                                thd.Start()
                        End   If
                Catch   ex   As   Exception
                        MsgBox(ex.Message)
                        Exit   Sub
                End   Try

        End   Sub

        Public   Sub   Ext()
                Try
                        blnExt   =   False
                        thd   =   Nothing
                        sckConnect.Disconnect(True)
                        sckConnect.Close()
                Catch   ex   As   Exception
                End   Try

        End   Sub
  • 上一篇:

  • 下一篇:
  • 【字体: 】【打印此文】【关闭窗口
      相关文章:(只显示最新16条)
    没有相关技术文摘

    | 设为首页 | 加入收藏 | 联系站长 | | 友情链接 | 版权申明 |
    乐博网欢迎各种媒体转载我们的原创作品[转载请注明出处];我们鼓励更多VB.Net开发者一起加入研究与探讨;如发现文章访问错误、内容错误或版权疑问、内容有违相关法律(如涉及政治、色情、反动或散布虚假有害信息)等情况,请及时向我们举报,我们将及时纠正!
    联系邮箱:Shiny#vip.qq.com (#替换为@) QQ交流群: 40797788 [闽ICP备05014267号]