انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: socket programming  (دفعات بازدید: 2137 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین Nicolas1390

  • Jr. Member
  • *
  • ارسال: 74
socket programming
« : 03 تیر 1391، 01:02 ب‌ظ »
سلام
می خوام روی اوبونتو یک برنامه سرور بنویسم که پورتی را باز کنه و اطلاعات را با کلاینت رد و بدل کنه ...
توی ویندوز مشکلی ندارم ، اما توی لینوکس نمیدونم باید چکار کنم !
باید از صفر برنامه را بنویسم که پورت را باز کنه و بقیه کار ها یا نه ؟ آخه توی یک مقاله نوشته بود که از xinetd باید استفاده کرد

لطفا راهنمایی کنید که باید برنامه را کامل بنویسم که پورت را باز کنه یا چیزی شبیه xinetd هست که باید استفاده کنم ؟ تا جایی که خوندم این xinetd میاد درخواست های هر پورت را به نرم افزار مربوطه انتقال میده و ...
مرسی

آفلاین doomhammer65ir

  • High Hero Member
  • *
  • ارسال: 1572
  • جنسیت : پسر
    • IRAN Backup
پاسخ : socket programming
« پاسخ #1 : 03 تیر 1391، 02:42 ب‌ظ »
xinetd برای درخواست هایی کاربرد داره که مثلا روزی 2 تا دونه درخواست به اون درگاه میره . لاکن اگر مثلا ثانیه ای دو تا درخواست میخوای به اون درگاه بفرستی باید یک دمون برای اون برنامه بسازید .

آفلاین Nicolas1390

  • Jr. Member
  • *
  • ارسال: 74
پاسخ : socket programming
« پاسخ #2 : 03 تیر 1391، 05:29 ب‌ظ »
مرسی
دمون ؟ همون سرویس هست ؟
یعنی من مثل ویندوز یک برنامه سرور را از صفر بنویسم که پورت را باز کنه و به پورت گوش بده و کلاینت ها را کانکت کنه و سند و رسیو کنه و ...
 بعد بصورت دمون درش بیارم ؟
مرسی

آفلاین آیدین

  • Hero Member
  • *
  • ارسال: 733
  • جنسیت : پسر
  • Die it such FRIENDLY word for me
پاسخ : socket programming
« پاسخ #3 : 03 تیر 1391، 06:09 ب‌ظ »
تووی لاگ زنجان ، یه مقدمه ای از این موضوع گفته شده ، به نظرم ضرری نداره که یه نگاهی بهش بندازی خیلی روون نوشته شده

با فرمت PDF :

http://zanjanlug.org/projects/documents/pejman/socket-sendtoweb.pdf

با فرمت ODF :

http://zanjanlug.org/projects/documents/pejman/socket-sendtoweb.odt
من از سرزمین آه آمده ام! سرزمین اندوه های بسیار! از جایی که هیچگاه نخندیده ام!!
من زاده ی‌ سرزمین آه هستم. من از سرزمین شرم آمدم،
از سرزمین حیا‌های بی‌ خاصیت، سرزمین قایم شدن‌های پر قیمت،
من از سرزمین حصار‌های بی‌ منفعت آمده ام !! من از سرزمین پنهان شدن آمده ام
من به رسم آهیان ، همچنان می‌‌آیم!!

آفلاین Nicolas1390

  • Jr. Member
  • *
  • ارسال: 74
پاسخ : socket programming
« پاسخ #4 : 03 تیر 1391، 06:59 ب‌ظ »
مرسی
مقاله جالبی هست ، اما خود برنامه را تقریبا بصورت ساده نوشتم ، اما بیشتر دنبال این هستم که مثل سرویس های خود لینوکس باشه و خودکار اجرا بشه ، دیگه اینکه توی مالتی تیردینگ هم موندم ! برای امنیت نرم افزار هم نمیدونم باید چکار کنم که برنامه امن باشه و کسی نتونه با استفاده از این برنامه به سیستم دسترسی داشته باشه و ...

مرسی

آفلاین آیدین

  • Hero Member
  • *
  • ارسال: 733
  • جنسیت : پسر
  • Die it such FRIENDLY word for me
من از سرزمین آه آمده ام! سرزمین اندوه های بسیار! از جایی که هیچگاه نخندیده ام!!
من زاده ی‌ سرزمین آه هستم. من از سرزمین شرم آمدم،
از سرزمین حیا‌های بی‌ خاصیت، سرزمین قایم شدن‌های پر قیمت،
من از سرزمین حصار‌های بی‌ منفعت آمده ام !! من از سرزمین پنهان شدن آمده ام
من به رسم آهیان ، همچنان می‌‌آیم!!

آفلاین doomhammer65ir

  • High Hero Member
  • *
  • ارسال: 1572
  • جنسیت : پسر
    • IRAN Backup
پاسخ : socket programming
« پاسخ #6 : 03 تیر 1391، 08:15 ب‌ظ »
برای امنیت باید ببینید چه سطح دسترسی نیاز دارید با توجه به همون کاربری که دمون رو اجرا میکنه مشخص خواهد شد .
مثلا آپاچی یک دمون داره که با کاربر ریشه اجرا میشه لاکن این دمون برای کارهای خود آپاچی هستش و هیچ کار به کاربر خدمات نمیده بلکه دمون هایی که با کاربر www-data اجرا میشن به کاربر خدمات میدن تا دسترسی با کاربر ریشه داده نشه

آفلاین Nicolas1390

  • Jr. Member
  • *
  • ارسال: 74
پاسخ : socket programming
« پاسخ #7 : 03 تیر 1391، 08:28 ب‌ظ »
مرسی
در مورد دمون میشه بیشتر توضیح بدی یا لینکی برای مطالعه بدید ؟
من این لینک رو خوندم : http://www.netzmafia.de/skripten/unix/linux-daemon-howto.html
اما بعد از اینکه این کار ها را انجام دادم و برنامه کامل شد ، باید چکار کنم که برنامه بصورت سرویس اجرا بشه ؟ مثل ویندوز که سرویس ها قبل از لاگین اجرا میشن و بقیه مزایای سرویس

برنامه هم فقط قراره یک پورت را باز کنه یک سری اطلاعات از کلاینت بگیره و توی mysql بنویسه .

مرسی

آفلاین doomhammer65ir

  • High Hero Member
  • *
  • ارسال: 1572
  • جنسیت : پسر
    • IRAN Backup
پاسخ : socket programming
« پاسخ #8 : 03 تیر 1391، 10:19 ب‌ظ »
این به گمانم کمک کنه :
http://narcissisticme.com/2011/01/31/lets-write-a-linux-daemon-part-i/==========================
بنده تا کنون با دمون ها کار نکرده ام لاکن به اینجا نگاهی بیندازید :
/etc/init.d/

آفلاین Nicolas1390

  • Jr. Member
  • *
  • ارسال: 74
پاسخ : socket programming
« پاسخ #9 : 04 تیر 1391، 12:33 ب‌ظ »
برنامه تقریبا درست شد
یک برنامه که یک پورت را باز می کنه و منتظر کلاینت هست تا اطلاعات را با کلاینت رد و بدل کنه ...
حالا می خوام این برنامه بصورت سرویس اجرا بشه
یکم سرچ کردم اما یک daemon هست و یک service ! مثل اینکه این دو با هم فرق می کنن ! من باید دنبال سرویس باشم یا دمون ؟ اصلا فرق این دو در چی هست ؟
مرسی

آفلاین doomhammer65ir

  • High Hero Member
  • *
  • ارسال: 1572
  • جنسیت : پسر
    • IRAN Backup
پاسخ : socket programming
« پاسخ #10 : 04 تیر 1391، 01:18 ب‌ظ »
http://bobpeers.com/linux/services

آفلاین Nicolas1390

  • Jr. Member
  • *
  • ارسال: 74
پاسخ : socket programming
« پاسخ #11 : 04 تیر 1391، 02:08 ب‌ظ »
مرسی اما این لینک خود سرویس ها را توضیح داده که چجوری میشه توی لینوکس مدیریتشون کرد و بیشتر روی chkconfig داره بحث می کنه که اون هم توی اوبونتو نیست و معادلش فکر کنم update-rc.d هست ...


آفلاین Nicolas1390

  • Jr. Member
  • *
  • ارسال: 74
پاسخ : socket programming
« پاسخ #12 : 05 تیر 1391، 08:40 ق‌ظ »
تقریبا یک دمون و سرویس نوشتم که استارت و استاپ و ری استارت داره و موقع بالا اومدن لینوکس قبل از لاگین هم اجرا میشه و عملا مثل بقیه سرویس های لینوکس هست ..
حالا یک سوال دیگه ! چجوری میشه دسترسی های این سرویس یا در اصل دسترسی های اون دمون را محدود کرد ؟! مثلا به فلان فایل دسترسی نداشته باشه ، به بعضی از دستورات سیستمی دسترسی نداشته باشه و ..
مرسی