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

کمک و پشتیبانی => برنامه‌سازی => نویسنده: Nicolas1390 در 03 تیر 1391، 01:02 ب‌ظ

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

لطفا راهنمایی کنید که باید برنامه را کامل بنویسم که پورت را باز کنه یا چیزی شبیه xinetd هست که باید استفاده کنم ؟ تا جایی که خوندم این xinetd میاد درخواست های هر پورت را به نرم افزار مربوطه انتقال میده و ...
مرسی
عنوان: پاسخ : socket programming
ارسال شده توسط: doomhammer65ir در 03 تیر 1391، 02:42 ب‌ظ
xinetd برای درخواست هایی کاربرد داره که مثلا روزی 2 تا دونه درخواست به اون درگاه میره . لاکن اگر مثلا ثانیه ای دو تا درخواست میخوای به اون درگاه بفرستی باید یک دمون برای اون برنامه بسازید .
عنوان: پاسخ : socket programming
ارسال شده توسط: Nicolas1390 در 03 تیر 1391، 05:29 ب‌ظ
مرسی
دمون ؟ همون سرویس هست ؟
یعنی من مثل ویندوز یک برنامه سرور را از صفر بنویسم که پورت را باز کنه و به پورت گوش بده و کلاینت ها را کانکت کنه و سند و رسیو کنه و ...
 بعد بصورت دمون درش بیارم ؟
مرسی
عنوان: پاسخ : socket programming
ارسال شده توسط: آیدین در 03 تیر 1391، 06:09 ب‌ظ
تووی لاگ زنجان ، یه مقدمه ای از این موضوع گفته شده ، به نظرم ضرری نداره که یه نگاهی بهش بندازی خیلی روون نوشته شده

با فرمت PDF :

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

با فرمت ODF :

http://zanjanlug.org/projects/documents/pejman/socket-sendtoweb.odt
عنوان: پاسخ : socket programming
ارسال شده توسط: Nicolas1390 در 03 تیر 1391، 06:59 ب‌ظ
مرسی
مقاله جالبی هست ، اما خود برنامه را تقریبا بصورت ساده نوشتم ، اما بیشتر دنبال این هستم که مثل سرویس های خود لینوکس باشه و خودکار اجرا بشه ، دیگه اینکه توی مالتی تیردینگ هم موندم ! برای امنیت نرم افزار هم نمیدونم باید چکار کنم که برنامه امن باشه و کسی نتونه با استفاده از این برنامه به سیستم دسترسی داشته باشه و ...

مرسی
عنوان: پاسخ : socket programming
ارسال شده توسط: آیدین در 03 تیر 1391، 07:32 ب‌ظ
این لینک ها رو ببین ، شاید به دردت خورد :

http://www.ibm.com/developerworks/linux/tutorials/l-sock/index.html
http://www.linuxhowtos.org/C_C++/socket.htm
http://www.thegeekstuff.com/2011/12/c-socket-programming/
http://www.tenouk.com/cnlinuxsockettutorials.html
http://www.ibm.com/developerworks/linux/library/l-sockpit/
عنوان: پاسخ : socket programming
ارسال شده توسط: doomhammer65ir در 03 تیر 1391، 08:15 ب‌ظ
برای امنیت باید ببینید چه سطح دسترسی نیاز دارید با توجه به همون کاربری که دمون رو اجرا میکنه مشخص خواهد شد .
مثلا آپاچی یک دمون داره که با کاربر ریشه اجرا میشه لاکن این دمون برای کارهای خود آپاچی هستش و هیچ کار به کاربر خدمات نمیده بلکه دمون هایی که با کاربر www-data اجرا میشن به کاربر خدمات میدن تا دسترسی با کاربر ریشه داده نشه
عنوان: پاسخ : socket programming
ارسال شده توسط: Nicolas1390 در 03 تیر 1391، 08:28 ب‌ظ
مرسی
در مورد دمون میشه بیشتر توضیح بدی یا لینکی برای مطالعه بدید ؟
من این لینک رو خوندم : http://www.netzmafia.de/skripten/unix/linux-daemon-howto.html (http://www.netzmafia.de/skripten/unix/linux-daemon-howto.html)
اما بعد از اینکه این کار ها را انجام دادم و برنامه کامل شد ، باید چکار کنم که برنامه بصورت سرویس اجرا بشه ؟ مثل ویندوز که سرویس ها قبل از لاگین اجرا میشن و بقیه مزایای سرویس

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

مرسی
عنوان: پاسخ : socket programming
ارسال شده توسط: doomhammer65ir در 03 تیر 1391، 10:19 ب‌ظ
این به گمانم کمک کنه :
http://narcissisticme.com/2011/01/31/lets-write-a-linux-daemon-part-i/==========================
بنده تا کنون با دمون ها کار نکرده ام لاکن به اینجا نگاهی بیندازید :
/etc/init.d/
عنوان: پاسخ : socket programming
ارسال شده توسط: Nicolas1390 در 04 تیر 1391، 12:33 ب‌ظ
برنامه تقریبا درست شد
یک برنامه که یک پورت را باز می کنه و منتظر کلاینت هست تا اطلاعات را با کلاینت رد و بدل کنه ...
حالا می خوام این برنامه بصورت سرویس اجرا بشه
یکم سرچ کردم اما یک daemon هست و یک service ! مثل اینکه این دو با هم فرق می کنن ! من باید دنبال سرویس باشم یا دمون ؟ اصلا فرق این دو در چی هست ؟
مرسی
عنوان: پاسخ : socket programming
ارسال شده توسط: doomhammer65ir در 04 تیر 1391، 01:18 ب‌ظ
http://bobpeers.com/linux/services
عنوان: پاسخ : socket programming
ارسال شده توسط: Nicolas1390 در 04 تیر 1391، 02:08 ب‌ظ
مرسی اما این لینک خود سرویس ها را توضیح داده که چجوری میشه توی لینوکس مدیریتشون کرد و بیشتر روی chkconfig داره بحث می کنه که اون هم توی اوبونتو نیست و معادلش فکر کنم update-rc.d هست ...

عنوان: پاسخ : socket programming
ارسال شده توسط: Nicolas1390 در 05 تیر 1391، 08:40 ق‌ظ
تقریبا یک دمون و سرویس نوشتم که استارت و استاپ و ری استارت داره و موقع بالا اومدن لینوکس قبل از لاگین هم اجرا میشه و عملا مثل بقیه سرویس های لینوکس هست ..
حالا یک سوال دیگه ! چجوری میشه دسترسی های این سرویس یا در اصل دسترسی های اون دمون را محدود کرد ؟! مثلا به فلان فایل دسترسی نداشته باشه ، به بعضی از دستورات سیستمی دسترسی نداشته باشه و ..
مرسی