yangzhiyuan 发表于 2017-1-16 10:31:39

Labwindows CVI中ServerTCPRead函数使用报错

本帖最后由 yangzhiyuan 于 2017-1-16 10:36 编辑

使用ServerTCPRead()函数读取下位机上传的数据,但是每一帧数据包后都会有一段不确定的延时,这样的话,如果直接使用ServerTCPRead()函数读取数据,则会出现等待超时的Run-Time Error,会弹出下面的提示框

然后点击Continue选项就会跳过ServerTCPRead()函数的执行,我在程序中的代码是这样的:int messageSize = DATA_SIZE;
int wordsToRead;
int wordsRead;
wordsToRead = messageSize;
while(wordsToRead > 0)
{
    wordsRead = ServerTCPRead(d_hconversation,&ptr,PACKET_SIZE*sizeof(int),1000)/sizeof(int);
    wordsToRead -= wordsRead;
}

cvifan 发表于 2017-1-17 14:37:28

好像可以安装事件来读取吧?这样还好些,就不会出现这个问题

cvifan 发表于 2017-1-17 14:40:31

labwindows/cvi中有一个例子,叫做server.prj的,是用事件来接收,里面再调用你这个函数

cvifan 发表于 2017-1-17 14:40:58

case TCP_DATAREADY有这个事件分支,表明数据准备好,再调用读取,就不会超时
页: [1]
查看完整版本: Labwindows CVI中ServerTCPRead函数使用报错