Rambod
پنج شنبه 09 خرداد 1387, 09:49 صبح
سلام.
من در حال نوشتن يك پروژه هستم كه در اين پروژه يك سرور وجود داره و چندين كلاينت. در قسمت سرور يك فولدر وجود داره كه يك سري فايل ويدئويي توسط اپراتور توي اين فولدر كپي ميشه. تمام كلاينتها بايد طبق يك Interval اين فولدر رو چك بكنند كه در صورت تغيير، خودشون رو با اين فولدر Synch بكنند و تمام فايلهاي جديد رو براي خودشون و توي فولدر خودشون كپي كنند و فايلهاي حذف شده را هم از فولدر خودشون حذف بكنند.
حالا اينجا يه مشكلي وجود داره و اونم اينه كه همون لحظه كه اپراتور داره فايل رو در سرور و در اون فولدر خاص كپي ميكنه، همون لحظه يك كلاينت Intervalش سر ميرسه و بايد سرور رو چك بكنه. به همين خاطر ليست فايلهاي موجود رو ميگيره و شروع ميكنه به كپي كردن فايلها. اما غافل از اينكه درسته فايلي به نام x وجود داره اما اين فايل هنوز كامل توسط اپراتور كپي نشده و در حال كپي شدن هست. و به همين دليل خطا رخ ميده و نميتونه فايل رو كپي كنه.
به نظر شما كلاينت چجوري ميتونه بفهمه كه فايل x قابل كپي شدن هست يا نه؟!
من در حال نوشتن يك پروژه هستم كه در اين پروژه يك سرور وجود داره و چندين كلاينت. در قسمت سرور يك فولدر وجود داره كه يك سري فايل ويدئويي توسط اپراتور توي اين فولدر كپي ميشه. تمام كلاينتها بايد طبق يك Interval اين فولدر رو چك بكنند كه در صورت تغيير، خودشون رو با اين فولدر Synch بكنند و تمام فايلهاي جديد رو براي خودشون و توي فولدر خودشون كپي كنند و فايلهاي حذف شده را هم از فولدر خودشون حذف بكنند.
حالا اينجا يه مشكلي وجود داره و اونم اينه كه همون لحظه كه اپراتور داره فايل رو در سرور و در اون فولدر خاص كپي ميكنه، همون لحظه يك كلاينت Intervalش سر ميرسه و بايد سرور رو چك بكنه. به همين خاطر ليست فايلهاي موجود رو ميگيره و شروع ميكنه به كپي كردن فايلها. اما غافل از اينكه درسته فايلي به نام x وجود داره اما اين فايل هنوز كامل توسط اپراتور كپي نشده و در حال كپي شدن هست. و به همين دليل خطا رخ ميده و نميتونه فايل رو كپي كنه.
به نظر شما كلاينت چجوري ميتونه بفهمه كه فايل x قابل كپي شدن هست يا نه؟!