pango 发表于 2008-1-15 10:52:00

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

我用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命令之间间隔一点时间?间隔多少合适?

peakzhang 发表于 2008-1-15 12:04:31

和时间没关系,我认为你这里出现的问题,是服务器端没有正确的分离命令引起的。
页: [1]
查看完整版本: ACE_SOCK_Stream::send_n()每次调用间是不是要间隔一点时间