В новых модулях Wavecom, Q24PL, Q2686, используется TCP/IP стек wIP (а не eDLib, как в старых модулях Q2406B). При работе с этим новым стеком, с сокетами в режиме клиента, при возникновени ошибок можно получить тип ошибки. По описанию это делается функцией wip_getOpts(socket,WIP_COPT_ERROR, err1,WIP_COPT_END); Но при попытке ей воспользоваться в любом случае возвращается ошибка WIP_CERR_NOT_SUPPORTED, т.е. якобы WIP_COPT_ERROR - недопустимая опция. При том, что компиляция выполняется и эта опция в заголовочных файлах присутствует. Эта же функция, но возвращающая другие параметры, например, размер буфера записи wip_getOpts(socket,WIP_COPT_SND_BUFSIZE,allbuf,WIP_COPT_NWRITE, freebuf,WIP_COPT_END); успешно выполняется. В чем может быть дело? Код ошибки нужен, так как в зависимости от него будет приниматься решение, то-ли надо сразу переоткрывать сокет, то-ли сделать паузу, то-ли вообще все отвалилось и надо заново открывать GPRS-сессию.
|