找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 4566|回复: 1

ACE_SOCK_Stream::send_n()每次调用间是不是要间隔一点时间

[复制链接]
发表于 2008-1-15 10:52:00 | 显示全部楼层 |阅读模式
我用ACE_SOCK_Stream类开发一个简单的网络通讯模块,客户机向服务器发送一个命令,服务器根据接受的命令

执行一定操作;我用send_n()函数执行发送功能,但我发现如果程序连续发送两个命令给服务器,服务器偶尔

会将两个命令的字符串当成一个命令来接受,如下程序:

  const char *lpCmd1 = "queryTime";
  pSockStream->send_n(lpCmd1,strlen(lpCmd1),0,&ACE_Time_Value(5,0));
  const char *lpCmd2 = "getResponse";
  pSockStream->send_n(lpCmd2,strlen(lpCmd2),0,&ACE_Time_Value(5,0));

按程序的意图服务器应该先收到queryTime命令,然后处理下此命令,然后再收到getResponse命令;可有时(

注意是有时,且并非经常)服务器会受到queryTimegetResponse命令;

请问应该如何避免此类错误发生?是不是应该在两个send_n命令之间间隔一点时间?间隔多少合适?
发表于 2008-1-15 12:04:31 | 显示全部楼层
和时间没关系,我认为你这里出现的问题,是服务器端没有正确的分离命令引起的。
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-6-16 17:28 , Processed in 0.013632 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表