ali_mohamadi8928
یک شنبه 08 دی 1387, 15:53 عصر
سلام دوستان
من به يك مشكل خيلي بزرگ برخورد كردم كه در واقع ميتونه توي كاراي حرفه اي خيلي مشكل ساز باشه .
من برنامه ي تحت شبكم رو نوشتم و دادم دست مشتري . برنامه با TidTCPClient و TidTCPServer نوشته شده و اونجا روي مثلا 20 تا سيستم كلاينت هست و يك سيستم هم كه سرور هست .
اين برنامه قابليت انتقال فايلها رو توسط خودش داره و بنا بر دلايلي قابليت شرينگ سيستم ها رو بستم تا فقط بتونن توسط برنامهي من فايل بفرستن تا سرور بتونه از فايلهاي انتقال شده با خبر باشه و الي اخر ...
تنها مشكل بزرگم اينه كه اونها فايلها ي حجيم ميفرستن مثلا 20 گيگابايتي . و مثلا 12 دقيقه طول ميكشه و قشنگ هم منتقل ميشه ولي مشكل اينه كه توي اون مدت زمان مثلا اگه يه كلاينت ديگه بخواد يك فايل بفرسته براي يكي ديگه نميتونه و بايد صبر كنه تا حتما اون فايل قبلي تموم بشه و بعد اين بفرسته .
اين به خاطر اينه كه هر كي توي TidTCPClient و TidTCPServer بخواد يك چيزي بفرسته اول اون داده به TidTCPServer ارسال ميشه بعد TidTCPServer بايد اون رو براي كلاينت مورد نظر بفرسته كه اين برام مشكل ساز شده . چون در يك ان واحد نميتونه دو تا چيز مختلف رو براي دو تا كلاينت مختلف بفرسته !!!
ايا ميشه كاري كرد كه بتونه اين كار رو بكنه ؟ يعني وقتي داره فايل رو از طريق يك Stream به كلاينت ميده و وقتي درخواست انتقال يك داده ي ديگه بهش داده شد بتونه اونم در همون زمان انجام بده ؟
مثل اينترنت خودمون ديديد مثلا وقتي يك چيزي داريم دانلود ميكنيم همون موقع ميتونيم يه صفحه ي وب رو هم بارگذاري كنيم يا اصلا ميتونيم يه چيز ديگه هم همراه همون دانلود كنيم .
دوستان لطفا در اين زمينه راهنماييم كنن خيلي مشكل ساز هست اين موضوع برام :عصبانی++:
من به يك مشكل خيلي بزرگ برخورد كردم كه در واقع ميتونه توي كاراي حرفه اي خيلي مشكل ساز باشه .
من برنامه ي تحت شبكم رو نوشتم و دادم دست مشتري . برنامه با TidTCPClient و TidTCPServer نوشته شده و اونجا روي مثلا 20 تا سيستم كلاينت هست و يك سيستم هم كه سرور هست .
اين برنامه قابليت انتقال فايلها رو توسط خودش داره و بنا بر دلايلي قابليت شرينگ سيستم ها رو بستم تا فقط بتونن توسط برنامهي من فايل بفرستن تا سرور بتونه از فايلهاي انتقال شده با خبر باشه و الي اخر ...
تنها مشكل بزرگم اينه كه اونها فايلها ي حجيم ميفرستن مثلا 20 گيگابايتي . و مثلا 12 دقيقه طول ميكشه و قشنگ هم منتقل ميشه ولي مشكل اينه كه توي اون مدت زمان مثلا اگه يه كلاينت ديگه بخواد يك فايل بفرسته براي يكي ديگه نميتونه و بايد صبر كنه تا حتما اون فايل قبلي تموم بشه و بعد اين بفرسته .
اين به خاطر اينه كه هر كي توي TidTCPClient و TidTCPServer بخواد يك چيزي بفرسته اول اون داده به TidTCPServer ارسال ميشه بعد TidTCPServer بايد اون رو براي كلاينت مورد نظر بفرسته كه اين برام مشكل ساز شده . چون در يك ان واحد نميتونه دو تا چيز مختلف رو براي دو تا كلاينت مختلف بفرسته !!!
ايا ميشه كاري كرد كه بتونه اين كار رو بكنه ؟ يعني وقتي داره فايل رو از طريق يك Stream به كلاينت ميده و وقتي درخواست انتقال يك داده ي ديگه بهش داده شد بتونه اونم در همون زمان انجام بده ؟
مثل اينترنت خودمون ديديد مثلا وقتي يك چيزي داريم دانلود ميكنيم همون موقع ميتونيم يه صفحه ي وب رو هم بارگذاري كنيم يا اصلا ميتونيم يه چيز ديگه هم همراه همون دانلود كنيم .
دوستان لطفا در اين زمينه راهنماييم كنن خيلي مشكل ساز هست اين موضوع برام :عصبانی++: