现在我这边有个udp程序,由于client的发送速度很快,server端相对来说,要慢一些。所以我想将UdpClient的buffer调大一些,但是找了很久都没有找到,不知道哪位大侠碰到我这样的问题啊?您是怎么解决的啊?感激不尽啊。

解决方案 »

  1.   

    兄弟,你设一个FIFO缓存就可以了,把进来的数据先存起来。
    用List或Stack.
      

  2.   

    在接收的时候,我是用多线程实现的。我的情况是:
    一个UI Form(主线程)1,一个网络监听线程2,同时一个数据处理线程3。其中2,3都是死循环,均为后台线程。线程2收到数据后,把它放在一个buffer里面,而后线程3从buffer里面取出数据进行显示等等处理。两个线程实现同步处理。但是我的客户端发过来的数据太快,搞得我总是丢包,听说调整Buffer能够解决这个问题,但是又苦于不知道怎么去设置UdpClient的缓冲区的大小。你说的FIFO和Stack只是在server端设置,对接收有帮助吗?
      

  3.   

    weisunding(鼎鼎):我请教了一些朋友,他们都建议我用你说的list和FIFO来实现。我只是用过linux下面和VxWorks下面的队列,但是不知道在C#下面怎么用啊?