Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
Странно поведение при ftp прехвърляне http://mcu-bg.com/mcu_site/viewtopic.php?f=16&t=15753 |
Страница 1 от 1 |
Автор: | ig_ivanov [ Сря Фев 14, 2018 10:01 am ] | |||||||||
Заглавие: | Странно поведение при ftp прехвърляне | |||||||||
Имам програма, която трябва да прехвърля 4 различни файла през определено време към FTP сървър. Ето кода на частта с прехвърлянето:
Файловете са от няколко десетки байта до около 6k, т.е. съвсем малки. Кода си работи, ама не съвсем. През някакъв интервал от време (не съм установил зависимост) се получава така, че в FTP сървъра се е записала само част от файла (примерно малко повече от половината, или пък само десетина байта), а функцията е върнала, че всичко е наред. Пробвах и с PASSIVE_MODE- пак си прави магарията. Компютърът, който праща данни и сървъра са в една мрежа, връзката им е само през един суич, не минава през интернет. VC++ 2008 е средата. От какво може да се получава така? |
Автор: | ДедоБоре [ Сря Фев 14, 2018 10:34 am ] |
Заглавие: | Re: Странно поведение при ftp прехвърляне |
като начало пусни подходящи лог-левъли и на двете места, с които да виждаш име на файл и колко байта са прехвърлени. после ги сравни (големините) сървъра да не е М$? обърни внимание и дали файловете, които се пращат са флюшнати/затворени по време на самото предаване, т.е. дали са статични в този момент. |
Автор: | ig_ivanov [ Сря Фев 14, 2018 10:44 am ] | |||||||||
Заглавие: | Re: Странно поведение при ftp прехвърляне | |||||||||
Малко допълнение, което може да се окаже важно: Програмата се стартира от два лаптопа, като никога не се включва едновременно и на двата. Единият е с ХР, с връзка през АР- при него нямам проблем с трансфера. Другият е с Windows 7, пак 32бита и връзката му е с кабел и именно при него са мизериите. Лог файла на FTPто казва след 20на сек, че връзката е затворена неочаквано.
Файловете се създават преди да бъдат изпратени, дали седмИцата не се мотае с окончателното им затваряне? |
Автор: | ike [ Сря Фев 14, 2018 1:06 pm ] |
Заглавие: | Re: Странно поведение при ftp прехвърляне |
Wireshark |
Автор: | radolin [ Сря Фев 14, 2018 1:14 pm ] | |||||||||
Заглавие: | Re: Странно поведение при ftp прехвърляне | |||||||||
Той ОС-ът няма да се мотае, но процесът, който ги създава, може и да не ги е затворил още, или да не е изпразнил буферите за писане. За да си сигурен, че са изпразнени буферите може да викаш fflush(). Добави отпечатването на дебъг информация в процеса, който праща. Да печата примерно колко е размерът на файла, преди да почне да изпраща. |
Автор: | ike [ Сря Фев 14, 2018 2:19 pm ] |
Заглавие: | Re: Странно поведение при ftp прехвърляне |
//оффтопик Има грешка в кода на редове 1 и 3. Създава променливи 4 пъти по-малки от колкото му трябват. |
Автор: | goose [ Чет Фев 15, 2018 8:22 am ] |
Заглавие: | Re: Странно поведение при ftp прехвърляне |
Minimum supported client: Windows 2000 Professional [desktop apps only] Да не го рънваш някъде във фонов режим без джам отпред? п.с. Отделно - хич не е добра практика да не проверяваш двата хендлъра дали не са null, мрежа е и всичко става, нямаш гаранция, че си направил connection ... |
Автор: | ig_ivanov [ Чет Фев 15, 2018 10:23 am ] |
Заглавие: | Re: Странно поведение при ftp прехвърляне |
Проблема е решен. Пуснах си конзолен монитор на операциите и го намерих. Не е причината в кода. Срам, не срам- оказа се омазан драйвер на мрежовата карта. Когато се прояви проблема прехвърлените байтове умират на 1460. Файловете, които са с по-малка дължина са се прехвърляли нормално, само тези които са по-големи са се скапвали. Вече всичко работи нормално. Благодаря за съдействието. |
Страница 1 от 1 | Часовете са според зоната UTC + 1 час [ DST ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |