我用UdpClient类去访问服务端,使用Send发送指令给服务端,然后Receive获取返回数据,有时候会立即返回,但有时候会等带1秒钟左右才获取到数据,请问Receive是不是并不是实时性的,我需要一有数据到达,就能获取到.摆脱大家了,都弄了两天了,没进展,在线等。

解决方案 »

  1.   

    UDP 是扔出去就不管了
    砸中了,就中,不中,就没了
    出手后,怎么飘,飘多少时间,是 看网络状态的。
    不知道我理解对不对。
      

  2.   

    数据是能够返回的,只不过延时太厉害了,网络状况很好,我有一个VB写的程序,它运行起来非常流畅,但我用 c#写就会有时候有延迟
      

  3.   

    .net的 缘故,可能。
    你 发送数据 和 接收数据 都用 你的 外网IP ,试看看。
      

  4.   

    http://www.cnblogs.com/wenanry/archive/2007/09/26/905984.html
      

  5.   

    和网络环境没有关系,udp不能保证发送的包能够正常到达。用异步获取效果会好一点
      

  6.   

    我想 从代码上是无法写出更高效的办法了
    因为 updclient的recive是阻塞的啊  来了就触发执行代码了 不来就等在那里
    何谈高效?
      

  7.   

    数据有多大?如果是几十K,当你的测试进程很繁忙时,这很有可能。(但是独立的服务器程序就不一样了)你跟踪的是的服务端Receive还是处理完数据呢?