PDA

View Full Version : این دو نوع برنامه نویسی چی هستن ؟



Golsha
پنج شنبه 09 مرداد 1393, 17:21 عصر
سلام دوستان ببخشید میخواستم بپرسم برنامه نویسی سوکت و برنامه نویسی comet چی هستن ؟

eshpilen
پنج شنبه 09 مرداد 1393, 18:55 عصر
سوکت یک کانال ارتباطی مجازی (در سطح برنامه نویسی) هست بین دو سیستم. سوکت اول باید متصل بشه، بعد میشه روی اون اطلاعاتی رو فرستاد و دریافت کرد. بطور مثال مرورگرها برای ارتباط با یک سایت ابتدا یک اتصال سوکت به نرم افزار وب سرور روی سایت مورد نظر باز میکنن، بعد با فرمت و دستورات HTTP از طریق اون سوکت اطلاعاتی رو میفرستن و دریافت میکنن. سوکت شبیه یک تماس تلفنی بین دو نفر است. اون کانال ارتباطی وصل شده تلفن بین دو نفر میشه سوکت. بعد دو طرف هستن که باید هر دو به یک زبان مشترک با هم صحبت کنن. این زبان مشترک در برنامه نویسی، همون پروتکله. بطور مثال پروتکل HTTP، FTP، SMTP و غیره.

2020s1371
جمعه 10 مرداد 1393, 02:28 صبح
eshpilen (http://barnamenevis.org/member.php?148005-eshpilen)
@
گاهی موقع ارسال درخواست از طرف مرورگر پیغامی اون پایین نوشته میشه که میگه در حال ایجاد اتصال امن
این اتصال امن چجوری و تفاوتش با اتصال معمولی چیه و اصلا این امن بودن در چه حدی ه؟

Golsha
جمعه 10 مرداد 1393, 13:49 عصر
برای مثال ، تو یکی از تاپیک ها یکی از دوستان در مورد ساختن اطلاع رسان فیس بوک سوالی کرده بود و میخواست یه چیزی مثل اون بسازه . که وقتی تو صفحه مدیریته و یکی در همون لحظه پیامی داد یا درخواستی داد تو صفحه مدیریت ایشون بهشون اطلاع رسانی بشه . یکی از دوستان در مورد برنامه نویسی سوکت و comet صحبت کرده بودکه میتونه از اینا واسه این کار استفاده کنه .
من میخوام این دو برنامه نویسی رو یاد بگیرم ، منابعی واسه یادگیری این دو وجود داره ، ضمنا میشه چند تا از توابع و کلاس های مربوط به این دو رو برام بنویسید

rezakho
جمعه 10 مرداد 1393, 13:53 عصر
comet به مجموعه روش های ایجاد برنامه های تحت وب realtime و ارتباط دو طرفه قبل از پیدایش وب سوکت اطلاق میشه، روش هایی مثل Ajax Push, Reverse Ajax, Two-way-web, HTTP Streaming, and HTTP server push و موارد دیگه
comet برای باز نگه داشتن طولانی کانکشن جهت ارسال داده از سرور به مرورگر (یعنی برعکس درخواست های متداول) استفاده میشه و الان هم خیلی از سرویس ها از این روش استفاده میکنند

در HTML 5 روش جدید و استانداردی برای این کار به وجود آمد که قبلا در زبان های دیگه استفاده میشد ولی در مرورگرها امکان استفاده وجود نداشت که همون برنامه نویسی سوکت هست که در وب به web socket معروفه

Golsha
دوشنبه 13 مرداد 1393, 09:59 صبح
یه سوال دیگه ای که داشتم این بود که میشه بفرمایید از این دو واسه چه چیزایی استفاده میشه؟ (چندتا مثال بزنید که بفهمم واسه چه کارایی از اینا استفاده کنم)

eshpilen
دوشنبه 13 مرداد 1393, 10:48 صبح
eshpilen (http://barnamenevis.org/member.php?148005-eshpilen)
@
گاهی موقع ارسال درخواست از طرف مرورگر پیغامی اون پایین نوشته میشه که میگه در حال ایجاد اتصال امن
این اتصال امن چجوری و تفاوتش با اتصال معمولی چیه و اصلا این امن بودن در چه حدی ه؟
خب اونم تاجاییکه میدونم اول سوکت وصل میشه ولی بعدش در پشت صحنه یکسری عملیات رمزنگاری طبق پروتکل SSL/TLS صورت میگیره که چند کار انجام میده؛ یکی اینکه میتونه اینکه طرف دیگر ارتباط واقعا همونی هست که ادعا میکنه رو ثابت کنه (بوسیلهء گواهینامهء دیجیتالش)، دیگر اینکه تمام اطلاعات ارتباط رو رمز میکنه که کسی در بین راه نتونه اون رو بخونه یا دستکاری کنه.
حالا این عملیات توسط کتابخانه های مربوطه و در پشت صحنه انجام میشه و در نهایت یک کانکشن سوکت مثل سوکت های معمولی در اختیار شما میذاره که بتونی همونطور که با سوکت معمولی کار میکنی با اونم کار کنی، ولی اطلاعاتی که میفرستی و میگیری بطور خودکار برای ارسال در طول مسیر ارتباطی رمز میشن و به این وسیله از خوانده شدن و دسترسی توسط موجودیت هایی غیر دو طرف محافظت میشن.
اینکه گفتم «یک کانکشن سوکت مثل سوکت های معمولی در اختیار شما میذاره که بتونی همونطور که با سوکت معمولی کار میکنی با اونم کار کنی» حالا عملا کار کردن باهاش ممکنه یکسری امکانات یا تفاوتهایی با سوکت معمولی داشته باشه، ولی تاحد ممکنه سعی شده که همون اینترفیس استاندارد رو در اختیار بذاره و نیازی به دخالت و دانش زیادی از جانب برنامه نویس نباشه.

امنیتش هم خوبه دیگه. بانکها و تجارت الکترونیک دارن روی همین پروتکل انجام میشن. البته گذشته از اینکه اجزاء و کانفیگ کتابخانه و سرور در این زمینه بروز و صحیح و قوی باشه و باگهایی که بعضی وقتا توی هر نرم افزار و پروتکلی ممکنه پیدا بشن.