局域网屏幕图像实时广播,那在局域网的环境下,抓屏压缩后进行发送后需要Sleep(time)多长时间才能不至发送端过快而接受端来不及显示?这个时间设多少比较合适?

解决方案 »

  1.   

    using System;
    using System.Threading;
    public class arr
    {
    public static void Main()
    {
    //int[] arr; 
    //arr = new int[5];
    int luzi;
    for(luzi=1;luzi<10000;luzi++)
    {
    Console.WriteLine("第"+luzi+"行");
    if (luzi==5000)
    {
    Thread.Sleep(10000);
    }
    }
    }
    }
    第5000行开始暂停10秒NET 基础类库的System.Threading命名空间提供了大量的类和接口支持多线程。这个命名空间有很多的类。 System.Threading.Thread类是创建并控制线程,设置其优先级并获取其状态最为常用的类。     Thread.Start():启动线程的执行;
    Thread.Suspend():挂起线程,或者如果线程已挂起,则不起作用;
    Thread.Resume():继续已挂起的线程;
    Thread.Interrupt():中止处于 Wait或者Sleep或者Join 线程状态的线程;
    Thread.Join():阻塞调用线程,直到某个线程终止时为止
    Thread.Sleep():将当前线程阻塞指定的毫秒数;
      

  2.   

    这个时间要看你的数据大小和电脑的配置了。我在2G的机子上设置成1ms,在1.25机上需要10ms
      

  3.   

    这种广播最好使用udp来处理,不用延迟,直接发送就行。
    不用管客户端是否连接成功。客户端连接服务端,收到数据,直接使用(显示)就行,
    管他行不行,丢失数据也没有太大的关系了。
    视频嘛,丢个几帧不算什么。