各位大侠,我的程序中用UDP/IP方式间隔1秒钟传送1000个点的坐标数据(共6500个字节),在程序运行时显示1000个杂波点。同时,这些点按传递坐标数据的改变而不停移动。如果不点击程序上的菜单,CPU显示使用为30%左右。如果将程序菜单中点击弹出的非模式对话框不停地拖动检验程序反应速度,则CPU的使用率将逐渐增加,直至100%,然后程序就死了!请教大家是什么原因??是否UDP传输数据时候没有清空buffer原因(我在程序中没有清空)!如果要清空,应该怎么清空UDP/IP方式传输的buffer?请大家指点!!!非常感谢!!

解决方案 »

  1.   

    跟传输没关系啊,是你的界面更新占用CPU时间太多了吧。
      

  2.   

    如果要清空的话,请memset(buf,0,sizeof(buf));
      

  3.   

    我的程序中用UDP/IP方式间隔1秒钟传送1000个点的坐标数据(共6500个字节)
    //==================================================================
    这个数据通信量很大的约为:6.4K的数据包发送,注意循环收发的问题 吧,
    UDP走以太网时候在局域网中没帧数据为1472BYTE,界面更新也要注意
      

  4.   

    同意anyiflyer(燕子飞了,我爱谁?为了我们青春的纪念!!!) 。 跟传输没多大关系。间隔1秒钟传送1共6500个字节算不上多。
      

  5.   

    各位大侠,我这6500个字节全放在一个数据包里面的(第一次做网络方面的程序缘故),今天我问了下一个老师傅,他说一个数据包好像最大不超过2048个字节,我想是否和这个有关系,6500个字节是否应该按数据包的容量分为几个包发送啊,数据包容量的大小是怎么分类的啊?也可能与界面更新占用的CPU时间有关