一种办法是用异步读写;
另一种办法是对读写设置时间。
如:
  COMMTIMEOUTS  commtimeout;      commtimeout.ReadIntervalTimeout =1;
      commtimeout.ReadTotalTimeoutConstant =3;
      commtimeout.ReadTotalTimeoutMultiplier =1;
  commtimeout.WriteTotalTimeoutMultiplier=1; 
      commtimeout.WriteTotalTimeoutConstant=3;       SetCommTimeouts(pdoc->hComm1,&commtimeout);
  memset(recv_buf,0,sizeof(recv_buf));