MODEM理论极限是56Kbps,也就是说只有7K字节。而你要求每秒最多要7K,不可能实现的。
  另外,将数据包拆成1-2K一个的也许要好一些。
  我没实验过,不过以前在看师兄的一篇硕士毕业论文好象讲到过

解决方案 »

  1.   

    一点建议:
        由于Windows的WinSocket堆栈大小的限制,每次发送数据超过
        4k同意发生数据包叠加的现象,所以建议你分成几次发送,每次发<4k字节。
      

  2.   

    打错了:
    由于Windows的WinSocket堆栈大小的限制,每次发送数据超过
    4k 容易 发生数据包叠加的现象,所以建议你分成几次发送,每次发<4k字节。
      

  3.   

    To : AutoAsm() : Modem是带硬件硬件压缩的,20K数据的一个结构,用TNMStrm只发了1秒多一点,而这时由于线路或者交换机的原因,Modem的连接速度只有33.6K.To: Musicwind : 我现在发送数据时用的是Fastnet控件板上的TNMStrm 和 TNMStrmServ,
        发送流数据的,可以一次发很大的数据
    To: Red_stone0(pei) : 我现在是用一对TClientSocket和TServerSocket来协调发送,
        首先TClientSocket连接TServerSocket端,然后TClientSocket发送命令'GetAll',
        TServerSocket收到该命令后,在OnClientRead中将结构数据写入临时流变量中,再调
        用TNMStrm的PostIt(aStream : TStream)方法发送数据
        客户端的TNMStrmServ在接受到数据后,设置gGetData : Boolean,     
        TClientSocket在检查到该标志后才延时发送下一个读数命令To 大家: 大家给出个主意吧,最好能有源码,谢谢了
      

  4.   

    对了,现在只能给34分,其它的过一段时间再给,好吗? 大家不会怎么小气吧  :)大蚂蚁
    [email protected]
      

  5.   

      to :hugeant(大蚂蚁) 
      当使用56K的猫作为连接的一端,而另一端是数字连接的时候,因为只需要做1次A/D转换,所以可以达到56K,要不所有的猫都是虚假广告了。
      如果连接的双方都使用猫的话,则只有33K,你可以看一下网络方面的书嘛
      

  6.   

    谢谢AutoAsm(),我现在才知道为什么用Modem一连接就是33.6K   :(
    看来我只有减小数据量了,或者分3次发送, 每次发送带个数据头.
    谁有Fastnet的源码? 就是Delphi自己带的那个控件组的???? 我只想查一下TNMStrm的源码