各位大虾:
       最近用CSocket编了一个小程序,通过网络给一台计算机发送数据另一台计算机接受到数据后直接返回一组数据。但速度只有0.2k/s.不明白为什么请各位帮忙看看阿。
发送程序:
void CServerDlg::OnSpeFun() 
{
// TODO: Add your control notification handler code here
this->UpdateData(TRUE);
SM("getpos");//SM是发送函数
}
受到命令返回一组数据:
case 'g':
if(buff[3]=='p'&&buff[6]=='\0')
CaseSend("X:123456789012345 Y:123456789012345 Z:123456789012345");
AfxMessageBox(buff);
break;返回后用onreceive函数进行接受.
本机通讯速度达到250多k,可是一到网络上速度就成0.1k了。

解决方案 »

  1.   

    可是一到网络上速度就成0.1k了局域网?这个速度要看你怎么算的/
    计算问题?
    还有你一次发多少/?
    buffer多大rwin呢?
      

  2.   

    发送接收和MFC界面处理放在一块,根本没办法去确定是socket的问题还是MFC的问题。汗。
    建议UpdateData之类的调用去掉。
    建议不要用AfxMessageBox来显示收发的日志。
    改用OutputDebugString输出到VC调试窗口,或者输出到日志文件。
    肯定还有很多问题,没看到你的其他代码。