当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 谁知道用asp实现视频点播,最好附上源代码,多谢. ......
 ·斑竹....参与这也有分    »显示摘要«
    摘要: 请问斑竹: 如何用程序代码创建excel文件与在excel上创建表。 多谢! ......


基于TCP协议的定时数据传输中的问题

 
  我在一个程序中以CAsyncSocket来实现基于TCP协议的数据定时传输。在服务器端,通过timer的触发定时向建立连接的客户端发送数据。  
   
  当服务端与客户端程序放在同一机器上时,没什么问题。  
   
  当服务端与客户端程序分别放在两台机器上时。客户接收数据明显有延迟。  
   
  测试发现,当发送的时间间隔大于200ms时,没问题。当服务端timer的间隔小于200ms时,就会有问题;  
   
  设置timer的间隔为30ms,一个服务端与一个客户端相连。  
   
  测试的数据如下  
  ID             c_interval             time             s_interval  
  6               0.000160076         0.178354       0.0312738    
  7               0.199633               0.377988       0.0312378  
  8               0.000194438         0.378182       0.0312422  
  9               0.000160076         0.378342       0.0314398  
  10             0.000157562         0.378660       0.0312520  
  12             0.000158400         0.378818       0.0312428  
  13             0.000160076         0.378978       0.031247  
  14             0.199273               0.578251       0.0312464  
   
  ID:                 包号  
  c_interval:客户端程序收到包号为ID的数据包与收到(ID-1)包间的时间间隔  
  time:             客户端程序收到包号为ID的数据包的时间  
  s_interval:服务端发送ID包与发送ID-1包之间的时间间隔。  
   
  由数据可见,服务端发送基本上是30ms一次;而接收却好象是200ms才接收一次。100Mb下也类似。  
   
  本人拙笨,百思不解,请教高人指点迷津。谢谢!!!  
   
  若问题得解,另外送分。  
   
 

NO.1   作者: kui

我用过CAsyncSocket,没有上述问题,64K的数据块,SetTimer(1,25,NULL)时,没有问题.  
  在接收端,用:  
  void   CMsocket::OnReceive(int   nErrorCode)  
  {  
  int   nError   =   ReceiveFrom   (&m_data,sizeof(sock_data),   m_strSendersIP,   m_nSendersPort);  
                      .......................自动处理  
  //::PostMessage(GetActiveWindow(   ),WM_COMMAND,WM_RECEIVE,(LPARAM)0);  
  CAsyncSocket::OnReceive(nErrorCode);    
  //AfxMessageBox("收到数据!");  
  }  
  收到数据时自动处理或发出消息.

NO.2   作者: ndy_w

TCP为防止包太小而浪费带宽,会等一下再发送,期待应用程序发送更多数据。等待时间为200ms。  
  如果要立刻发送,好像是setsockopt,参数SO_DONTLINGER。  
 


    摘要: 我在isapi的dll程序中使用了ado,初始化afxoleinit成功,然后我初始化ado连接access,在try了以后就停止了,浏览器始终在连接状态,页面上什么也没有。 而且iis服务也死锁了。 请问,是不是isapi不支持ado还是怎么,我应该怎么作呢? 代码如下: case server_access_2000: { writedebuginfo("server_......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE