Нашел проблему, стандартные встроенный в функции для сьерры беспроводного «wip_close (data_channel)» не выключая линии правильно.
Программное обеспечение должно начинаться с размещения именованного файла на FTP-сервере - 0 байтов.
Пакеты, казалось, отправлялись успешно.
При закрытии канала передачи данных, использующего FTP, вы должны убедиться, что соединение закрыто правильно, иначе все пакеты данных будут удалены.
0 байт просто потому, что файл был помещен туда перед передачей пакетов.
Для других пользователей беспроводных SIERRA желающих более подробно, смотрите ниже:
Оригинальный код:
handle_events_on_FTP_channel(){
case WIP_CEV_OPEN:
wip_putFile(control_channel,x,x,x)
break;
case WIP_CEV_PEER_CLOSE:
wip_close(data_channel);
data_channel = NULL;
wip_close(control_channel);
control_channel = NULL;
break;
}
Модифицированный код:
handle_events_on_FTP_channel(){
case WIP_CEV_OPEN:
wip_putFile(control_channel,x,x,x)
break;
case WIP_CEV_PEER_CLOSE:
wip_close(data_channel);
data_channel = NULL;
wip_close(control_channel);
control_channel = NULL;
break;
case WIP_CEV_DONE:
wip_close(control_channel);
break;
}
Оригинальный код:
handle_events_on_data_channel(){
case WIP_CEV_WRITE:
wip_write(data_channel,x,x)
if(ALL_DATA_TRANSMITTED){
wip_close(data_channel);
data_channel = NULL;
wip_close(control_channel);
control_channel = NULL;
}
break;
}
Код модификации:
handle_events_on_data_channel(){
case WIP_CEV_WRITE:
wip_write(data_channel,x,x)
if(ALL_DATA_TRANSMITTED){
wip_shutdown(data_channel,FALSE,TRUE) //Channel, Input, Output
}
break;
case WIP_CEV_PEER_CLOSE:
wip_close(data_channel);
data_channel = NULL;
}
n.b. код изменен, чтобы быть минимальным, а не символом для символа, таким же, как демо, но здесь достаточно внести необходимые изменения.
Вы не даете нам никакой информации, которая поможет нам диагностировать вашу проблему. Нет соответствующего кода, нет описания системы ... – Ross
Ошибки беспроводной передачи могут быть вызваны множеством причин. Объяснение вашей архитектуры установки и приложения/программного обеспечения может помочь в устранении неполадок. –
Похоже, вам нужно либо изменить сервер, чтобы сохранить частичные результаты, либо лучше изменить механизм. Вместо FTP попробуйте использовать что-то более простое и просто записать каждый кусок данных по мере его получения. Имейте хорошее подтверждение повторения и механизм повтора, чтобы как можно скорее восстановить соединение. –