ورود

View Full Version : استفاده از socket یا get , post از Http یا (socket vs http)



MSHService
دوشنبه 01 دی 1393, 19:57 عصر
درود دوستان

من دارم یه برنامه سوکت برای یه موسسه بزرگ می نویسم کهه کاربراش کل کشورن و من برای ارتباط از سوکت استفاده می کنم.

امروز توی جلسه یه نفر اومد گفت معماریتون اشتباست و نباید از socket استفاده کنید! (یه لحظه فک کردم میخواد بگه از NIO استفاده کنید) ولی وقتی دیدم گفت tom cat , glass fish

فهمدم منظورش http و ... هست.

چیزایی که من میدونم اینه که سرباره http زیاده و پشتش سوکت زده میشه! و به محضه ارسال درخواست یا دریافت پاسخ این سوکته پشته http سریعا بسته میشه.

و اینکه همیشه اطلاعات مرورگز هم ارسال میکنه.

برای کاره من ، کاربر 5 دقیقه وقت داده تا کاراش رو کنه و میتونه چندین درخواست متفاوت بفرسته و بگیره!

توی سوکت بعد از احراز هویت من سوکت رو تا لحظه آخر باز نگه می دارم! خوده بستنه سوکت هم کلی سربار برای سیستم داره!

طول مسیج ارساله من حداکثر 64 بایته!

لطفا راهنماییم کنید ؟! من دارم اشتباه میکنم؟!!!

ahmad.mo74
دوشنبه 01 دی 1393, 20:58 عصر
سلام،

جوابش واضحه خب... اگر برنامتون تحت دسکتاپه، از socket یا rmi اگر هم تحت وبه برای لایه view تون از application server استفاده کنید (... ,Tomcat, TomEE, JBoss) برای لایه های زیرش هم دوباره باید برید سراغ socket یا rmi که من خودم rmi رو ترجیح میدم.

cups_of_java
دوشنبه 01 دی 1393, 21:13 عصر
درود دوستان

من دارم یه برنامه سوکت برای یه موسسه بزرگ می نویسم کهه کاربراش کل کشورن و من برای ارتباط از سوکت استفاده می کنم.

امروز توی جلسه یه نفر اومد گفت معماریتون اشتباست و نباید از socket استفاده کنید! (یه لحظه فک کردم میخواد بگه از NIO استفاده کنید) ولی وقتی دیدم گفت tom cat , glass fish

فهمدم منظورش http و ... هست.

چیزایی که من میدونم اینه که سرباره http زیاده و پشتش سوکت زده میشه! و به محضه ارسال درخواست یا دریافت پاسخ این سوکته پشته http سریعا بسته میشه.

و اینکه همیشه اطلاعات مرورگز هم ارسال میکنه.

برای کاره من ، کاربر 5 دقیقه وقت داده تا کاراش رو کنه و میتونه چندین درخواست متفاوت بفرسته و بگیره!

توی سوکت بعد از احراز هویت من سوکت رو تا لحظه آخر باز نگه می دارم! خوده بستنه سوکت هم کلی سربار برای سیستم داره!

طول مسیج ارساله من حداکثر 64 بایته!

لطفا راهنماییم کنید ؟! من دارم اشتباه میکنم؟!!!


اشتباه بودن یه معماری به اینچیزا نیست لزومن. می تونه جفت این راه ها در شرایطی درست و شرایط دیگه ای نادرست باشه.
به هر حال،‌ اون سرباری که شما فکر میکنی نیست سربار HTTP نسبت به سوکت و شما می تونی به راحتی به مقیاس های خیلی بالا برسی که از اندازه های کاربر های یک کشور هم خیلی بیشتره.
نکته اینه که توی همچین حالتی که کاربر داره کار میکنه با سیستم و تعامل داره نیازی به سوکت نیست و صرفن این کار به دردسر انداختن خودت و پروژت هست. زحمتت زیاد میشه... قابلیت توسعه و گسترشت میاد پایین و مطمنن نمیتونی اندازه فریم ورک و کتابخونه هایی که این کارا رو میکنن هندل کنی خودت همه چی رو... (اگه منظورت رو درست فهمیده باشم)‌

MSHService
دوشنبه 01 دی 1393, 22:04 عصر
rmi چیه حالا ؟!

ahmad.mo74
سه شنبه 02 دی 1393, 21:04 عصر
سلام،

http://en.wikipedia.org/wiki/Java_remote_method_invocation

اگر مثال بیشتر خواستی در خدمتم.