PDA

View Full Version : یک سوال در مورد برنامه نویسی شبکه



ahmad_r
یک شنبه 15 مرداد 1385, 10:35 صبح
با سلام به کلیه دوستان.
من قصد نوشتن یک برنامه client/server دارم. برنامه سرور باید بتواند با یک سی پی یوی Xeon 3.2 و یک گیگا بایت رم 1000 کلاینت را پشتیبانی کند. من سه گزینه برای محیط برنامه نویسی در نظر گرفته ام. اول ویژوال سی با استفاده از MFC و ATL دوم ,.Net و سوم دلفی .
حالا سوال من این است که با توجه به مزیتهای هر کدام از این محیط ها کدام گزینه بهتر است. به نظر خودم ویژوال سی به دلیل برنامه نویسی سطح پایین و در نتیجه سرعت بالای آن بهترین گزینه است ولی در عوض به هیچ وجه امکانات سطح بالای .Net را ندارد و این کار را در بعضی از قسمتهای برنامه مشکل می کند.
لطفا اگر اطلاعاتی در این زمینه دارید یا مقاله یا کتابی در این مورد دارید به من کمک کنید.
ممنون.

mehranFX
یک شنبه 15 مرداد 1385, 11:06 صبح
با سلام به کلیه دوستان.
من قصد نوشتن یک برنامه client/server دارم. برنامه سرور باید بتواند با یک سی پی یوی Xeon 3.2 و یک گیگا بایت رم 1000 کلاینت را پشتیبانی کند. من سه گزینه برای محیط برنامه نویسی در نظر گرفته ام. اول ویژوال سی با استفاده از MFC و ATL دوم ,.Net و سوم دلفی .
حالا سوال من این است که با توجه به مزیتهای هر کدام از این محیط ها کدام گزینه بهتر است. به نظر خودم ویژوال سی به دلیل برنامه نویسی سطح پایین و در نتیجه سرعت بالای آن بهترین گزینه است ولی در عوض به هیچ وجه امکانات سطح بالای .Net را ندارد و این کار را در بعضی از قسمتهای برنامه مشکل می کند.
لطفا اگر اطلاعاتی در این زمینه دارید یا مقاله یا کتابی در این مورد دارید به من کمک کنید.
ممنون.
اولا اینکه اشاره نکردی چه نیازهای سطح پایینی رو می خوای مرتفع کنی !
ثانیا اگه دلت می خواد هم ویژوال C رو استفاده کنی و هم مزایای .Net رو داشته باشی خوب بهتره از Visual C++.Net استفاده کنی .
نیاز های پروژه ات رو اگه توضیح بدی انتخاب ابزار کار ساده تری خواهد بود . خوش باشی !!!

ahmad_r
دوشنبه 16 مرداد 1385, 13:01 عصر
اولا به خاطر توجه تون ممنون.
در این پروژه قرار است از پروتکلهای TCP,UDP,FTP استفاده شود .مثلا از UDP برای پخش یک فیلم از روی یک سیستم بر روی تعدادی از کلاینها.
ضمنا برای مدیریت کلاینتها از Thread ها می خواهم استفاده کنم و چون این thread ها دائما در حال ایجاد شدن و از بین رفتن هستند و با توجه به تعداد زیاد کلاینتها این عملیات ممکن است در یک ثانیه صدها بار انجام شود و چون مدیریت حافظه در .net مدیریت شده است و سایر مسائل مر بوط به CLR به نظرم انجام این کار در دات نت به کندی انجام شود.
ضمن اینکه چون Thread ها از منابع مشترکی هم استفاده می کنند و برای استفاده از هر منبع وارد ناحیه بحرانی مربوط به آن منبع می شوند در صورتی که یک قسمت از برنامه کند عمل کند می تواند روی کنترل کار سایر کلاینتها اثر منفی بذارد.
آیا برداشتی که من در مورد مدیریت منابع و حافظه در .net دارم درست است یا خیر؟
لطفا در صورتی که اطلاعاتی در این مورد دارید به من کمک کنید.

mehranFX
دوشنبه 16 مرداد 1385, 13:16 عصر
توضیح ندادی که چه منابع مشترکی قراره مورد استفاده قرار بگیره ؟!!!
مگه می خوای سیستم عامل بنویسی ؟!!! خیلی از چیزهایی که تو نگران اونها هستی توسط خود سیستم عامل به نحو مطلوبی مدیریت میشه ! به هرحال باز هم بیشتر باید توضیح بدی !

ahmad_r
چهارشنبه 18 مرداد 1385, 07:44 صبح
منظورم از منابع چیز خاصی نیست . مثلا فایلها , یک آرایه از اطلاعات , یک جدول و یا هر چیز دیگری که ممکن است کلاینت ها همزمان نیاز به استفاده از آنها داشته باشند.

mehranFX
چهارشنبه 18 مرداد 1385, 09:32 صبح
منظورم از منابع چیز خاصی نیست . مثلا فایلها , یک آرایه از اطلاعات , یک جدول و یا هر چیز دیگری که ممکن است کلاینت ها همزمان نیاز به استفاده از آنها داشته باشند.
در مورد مطالبی که اشاره کردی دات نت به خوبی پاسخگوست و جای نگرانی نداره . حتی اونقدر هم که فکر میکنی کند نیست !