我做了个小工具,用于拦截winsock收发的数据包。由于需要预先分配保存数据的空间,所以我必须要知道一般数据包会有多大?数据包是不是会有个什么极限值呢?

解决方案 »

  1.   

    数据包有多大根据你的实际业务确定,不同的目的不同的数据,数据包的大小是不同的。比如你如果拦截QQ的数据,普通的聊天数据可能就一两K的数据,数据传输的时候一个数据包的数据就是好几十K了。如果碰上TCP数据包,因为不必考虑分包、顺序等等因素,写程序的人可能一口气把几兆的数据扔给buffer让socket自己完成所有数据的发送者时候一个数据包到底是多大就没办法预测了。
      

  2.   

    你关心的是知道一般数据包的最大值
    VB winsock 最大4-5K ,API 8-9K ,当然和网络也有关系