نقل قول: ارسال فايل حجيم با indy
نقل قول:
نه دیگه قرار نیست ما بیایم از ابتدا تا انتها ارایه رو بررسی کنیم و ببینیم نام فایلش چیه .
گفتم در مرحله اول که کلاینت میگه میخوام برات فایل بفرستم اندیس ارایه براش فرستاده میشه و از این به بعد بسته های اطلاعاتی رو که به سمت سرور خواهد فرستاد هم این اندیس به ابتداش اضافه خواهد شد. و سرور هم با دریافت هر بسته ابتدا اندیس رو بدست مباره و بعد مستقیم به اون اندیس مراجعه میکنه . که البته خوب میشه قبلش هم چک کرد که nil نباشه تا یهو خطا رخ نده .
اینجوری دیگه یه حلقه For اجر نمیشه که در زمانن صرفه جویی میشه .
بله ، حق با شماست . اما این روش خالی از مشکل هم نیست . به هر حال وقتی صحت عملیات سرور در گرو صحیح بودن Index هایی از طرف کلاینت ارسال میشند باشه امنیت کار پایین میاد و Index های ارسال شده از طرف کلاینت های غیر مجاز میتونه بطور کلی همه Transfer های جاری رو با مشکل مواجه کنه. البته این مورد حل شدنی هست و البته برای جلوگیری از اون مجدداً نیاز به یکسری تدابیر امنیتی هست که نهایتاً باعث میشه پردازش بالا بره .
اگه راه بهتری پیدا کنیم که همه چیز به اراده سرور انجام بشه به نتیجه نهایی رسیدیم .
نقل قول: ارسال فايل حجيم با indy
عملا که نمیشه همه چیز رو تحت کنترل سرور قرار داد . به هر حال باید یه طوری کلاینت بگه که این توالی پکت هایی که ارسال میکنم باید به کجا بره . که خوب به قول شما با از نظر امنیتی به مشکل بر میخوریم .
البته من تا اینجایی که پیش روفتم به این شکله که یک شخص در ان واحد تنها میتونه یک فایل دریافت کنه .
و هر کلاینت بتونه برای چند نفر ارسال کنه .
از نظر کد نویسی هم پیاده سازی کردم این رو اما یه مشکلی هست اون هم این که زمانی که کلاینت داره فایلی رو ارسال میکنه برنامه کلاینت به یه حالت هنگ میره تا زمانی که ارسالش تمام بشه (فکر کنم اصطلاحش هم Freez باشه ، درسته؟)
و همچنین زمانی که دو شخص یهش میگن فایل بفرست به شخص اول که پاسخ داده میشه برنامه به همون حالتی که گفتم میره و حتی درخواست های طرف ها رو هم نشون نمیده .
یا مثلا حتی زمانی که داره فایل رو ارسال میکنه progressbar مربوط به اون هنگ میکنه . از رفرش هم استفاده کردم اما نشده .
در این باره چی ؟
البته این سوالم هم در باره ارسال فایله دیگه.(سوال اصلی همون یخ زدن برنامست):چشمک:
نقل قول: ارسال فايل حجيم با indy
از کنترل IdAntiFreeze استفاده کنید . این کنترل مخصوص همین کار هست .
نقل قول: ارسال فايل حجيم با indy
نقل قول:
نوشته شده توسط
M8SPY
از کنترل IdAntiFreeze استفاده کنید . این کنترل مخصوص همین کار هست .
نکته اینجاست که استفاده کردم .
فرمی که باز میشه تنها شامل یک IdTcpClient هست . و یکی هم از همین IdAntiFreeze ایا باید تنظیم خاصی براش انجام بدم ؟
این کامپوننت رو باید به ازاری TcpSrver ها یگذاریم یا هم TcpServer , TcpClient ؟ یکی برای کل برنامه کافیه یا برای هم کدام یکی ؟
ممنون.
نقل قول: ارسال فايل حجيم با indy
IdAntiFreeze در سمت کلاینت استفاده میشه .
نقل قول:
باید تنظیم خاصی براش انجام بدم ؟
فقط روی فرم قرار بدید و Active رو برابر True قرار بدید . ضمناً برای اینکه برنامه کمترین حالت Freeze رو داشته باشه میتونید مقدار خاصیت IdleTimeOut رو کمتر کنید .
نقل قول:
یکی برای کل برنامه کافیه
بله
نقل قول: ارسال فايل حجيم با indy
خوب پس با این وجود من نکات اصلی رو رعایت کردم.
پس چه دلیی میتونه داشته باشه ؟
نقل قول: ارسال فايل حجيم با indy
نقل قول:
نوشته شده توسط
bmanfy
خوب پس با این وجود من نکات اصلی رو رعایت کردم.
پس چه دلیی میتونه داشته باشه ؟
ما که کدی ندیدیم ! لطفاً نمونه برنامه ای که نوشتید رو قرار بدید تا بشه در موردش نظر داد .
نقل قول: ارسال فايل حجيم با indy
بسيار خوب.
خود برنامه يك مقدار ميشه گفت كد زياد داره . يك نمونه كد در اولين فرصت اماده ميكن و قرار ميدم .
البته بدم هم نمياد در باره برنامه اي كه نوشتم نظري بدين . بعد از اين كه كامل شد اون رو هم اينجا قرار ميدم .
ممنون .
نقل قول: ارسال فايل حجيم با indy
سلام دوستان ، من تو برنامه ام میخواستم با استفاده از کامپوننت Indy فایل هامو send و recive کنم اما الان که دیدم اینقد سخت و ... بخیال شدم ، و با مراجعه به مخم و SQL سرور اینکارو انجام میدم مدیریت ترافیک و همروندیشم به عهده SSMS میافته
یعنی جدولی می سازم رو دیتا بیس سرور و فایلهارو با کلاینها تو اون مینویسم بعد با یه برنامه رو سرور فایل هارو از روی دیتابیس ورمیدارم و خلاص ، برعکسش هم امکان پذیره :متفکر:
منتظر نظر دوستان در مورد این روش هستم ؟؟؟؟؟؟؟؟؟
نقل قول: ارسال فايل حجيم با indy
نقل قول:
نوشته شده توسط
Reza_A7b
سلام دوستان ، من تو برنامه ام میخواستم با استفاده از کامپوننت Indy فایل هامو send و recive کنم اما الان که دیدم اینقد سخت و ... بخیال شدم ، و با مراجعه به مخم و SQL سرور اینکارو انجام میدم مدیریت ترافیک و همروندیشم به عهده SSMS میافته
یعنی جدولی می سازم رو دیتا بیس سرور و فایلهارو با کلاینها تو اون مینویسم بعد با یه برنامه رو سرور فایل هارو از روی دیتابیس ورمیدارم و خلاص ، برعکسش هم امکان پذیره :متفکر:
منتظر نظر دوستان در مورد این روش هستم ؟؟؟؟؟؟؟؟؟
نظر چي ؟ اين كار از بنيان مشكل داره ٠٠٠
نقل قول: ارسال فايل حجيم با indy
منم گاهی از این روش استفاده میکنم. خیلی خوب و سرعت بالا هم جواب میده.