ورود

View Full Version : حرفه ای: قطعی بسیار بسیار زیاد کاربران



sajioo
جمعه 14 آذر 1393, 11:04 صبح
دوستان عزیز سلام و ظهر جمعه تون بخیر

بنده با indy client/server یک برنامه ی نوشتم که هم کاربران با هم چت انجام میدن هم می تونن یکسری اطلاعات رو به سرور بفرستن و پاسخ آنرا دریافت کنند.
بنده یک سرور از خارج کشور گرفتم و برنامه سرور روی اون اجراست .
در حالتی که چند نفر ( زیر 10 نفر ) به سرور وصل باشن مشکلی نیست اما اگر کاربران به 100 تا برسن مشکل پیشن میاد.
مشکل اینه که ارتباط برخی کلاینت ها با سرور قطع میشه :اشتباه:
بعضی وقتا هم برنامه یهو بسته میشه برای کلاینت ها!
خیلی خیلی بررسی کردم اما به نتیجه درستی نرسیدم.
اگر کسی اطلاعات و یا تجربه ی در خصوص مشکل من داره لطفا بیان کنه شاید من از این مشکل رهایی پیدا کنم.
لینک زیر هم مشاهده کردن

http://barnamenevis.org/showthread.php?399773-%D8%B3%D8%A7%D8%AE%D8%AA-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%DA%86%D8%AA-%D8%A8%D8%A7-http&highlight=DataSnap

اگر میشه در خصوص نقل قول زیر نیز نظر بدید



من هم VPS دارم ولی در اتصال بهش مشکلی ندارم. معمولاً در این روزها به دلیل پایدار نبودن اتصالات اینترنتی(!) کاربران مدام با خطای Socket Error مواجه می شوند.با انجام تنظیماتی میشه تا حدود زیادی این مشکل رو حل کرد. تنظیماتی مثل KeepAvail و TimeOut و PacketSize و Noop Intervals و ... .
در حال حاضر به دلیل پایدار نبودن اینترنت نباید توقع زیادی داشته باشید. روشهایی که نام بردم تا حدود زیادی مشکل را حل می کنند، البته نه به صورت کامل!
موفق باشید...

یوسف زالی
جمعه 14 آذر 1393, 14:08 عصر
جالبه بدونید که من حتی با مسنجر یاهو هم همین وضع رو دارم. هر چند دقیقه باید دوباره کانکت بشم.

sajioo
جمعه 14 آذر 1393, 16:50 عصر
جالبه بدونید که من حتی با مسنجر یاهو هم همین وضع رو دارم. هر چند دقیقه باید دوباره کانکت بشم.

دلیل چیه یوسف جان آخه؟

Mask
جمعه 14 آذر 1393, 19:42 عصر
نه من و نه شما نفر اولی هستیم که چنین مشکلی داریم. این همه به علت اینترنت ناپایدار این چند مدت اخیر است.
برای رفع این مشکل راهی که بنده رفتم :(شاید راهکارهای بهتری هم باشه)
برنامه هام رو بر بستر http پیاده سازی کردم : چه از روش DataSnap و یا post و Get.
بر روی همون سرور Vps که دارید ، پروکسی سرور راه اندازی کنید ، و برنامه هاتون رو به پروکسی مجهز کنید. این روش 90 درصد مشکلات اینترنت فعلی رو بر طرف میکند.
کلا روشهای اتصال مستقیم ADO به بانک اطلاعاتی رو فراموش کنید. واقعا گاهی وقتا این مدل پیشنهاد ها رو از افراد حرفه ای میشنویم که واقعا جای فکر داره.
موفق باشید.

BORHAN TEC
شنبه 15 آذر 1393, 14:49 عصر
کلا روشهای اتصال مستقیم ADO به بانک اطلاعاتی رو فراموش کنید.

بخاطر اینکه ADO قابلیت Automatic Connection Recovery نداره. ولی مثلاً FireDAC و UniDac این قابلیت رو دارند و میتونند توی شبکه های غیز پایدار مورد استفاده قرار بگیرند:
برای UniDac:
http://www.devart.com/UniDAC/docs/index.html?unstable_network.htm
برای FireDac :
http://docwiki.embarcadero.com/RADStudio/XE6/en/Recovering_Connection_%28FireDAC%29
کاری به این دو محصول ندارم، فقط میخواستم بگم که در شرایط اینچنینی باید از کتابخانه هایی استفاده بشه که برای کار در شبکه های ناپایدار ساخته شده اند.

firststep
شنبه 15 آذر 1393, 16:45 عصر
سلام
باید مطومئن بشین مشکل ار اتصال اینترنتی هستش مثلا شاید ارتباط داشته باشه با تعداد ترد های شما در برنامه سرور
ویندوز سرور 32 یا 64

Mask
شنبه 15 آذر 1393, 18:39 عصر
بخاطر اینکه ADO قابلیت Automatic Connection Recovery نداره. ولی مثلاً FireDAC و UniDac اسن قابلیت رو دارند و میتونند توی شبکه های غیز پایدار مورد استفاده قرار بگیرند:
برای UniDac:
http://www.devart.com/UniDAC/docs/index.html?unstable_network.htm
برای FireDac :
http://docwiki.embarcadero.com/RADStudio/XE6/en/Recovering_Connection_%28FireDAC%29
کاری به این دو محصول ندارم، فقط میخواستم بگم که در شرایط اینچنینی باید از کتابخانه هایی استفاده بشه که برای کار در شبکه های ناپایدار ساخته شده اند.
در تکمیل صحبتهای دوست عزیزم، یکی از مشکلاتی که Ado داره نداشتن خاصیت Automatic Connection Recovery هست.
مشکل اصلی تر لو رفتن خیلی خیلی سریعتر پسورد بانک اطلاعاتی مندرج در کانکشن استرینگ سمت کلاینت میباشد، که کلا در این روش امنیتی وجود ندارد.