PDA

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



shirzad_info
سه شنبه 16 آبان 1385, 22:39 عصر
سلام خدمت همه دوستان عزیز
من میخوام یک برنامه چت تحت شبکه بنویسم و در این مورد چند تا سوال دارم

لازم به توضیح است که من از کنترل winsock استفاده میکنم

1 - من برای اینکه کامپیوتر های دیگه رو در شبکه شناسایی کنم باید چیکار کنم منظور اینکه از چه طریقی باید بین کامپیوتر ها
ارتباط برقرار بشه مثل ip یا نام کامپیوتر و ... و اینکه اگر از ip استفاده کنم این شماره آی پی همیشه ثابت خواهد بود؟


2 - میخواستم بدونم که برنامه من در هر نوع شبکه ای کار خواهد کرد یا برای معماری های مختلف باید تنظیمات خاصی را انجام داد


3 - من الان اگر یک نسخه کلاینت از نرم افزار رو به بک نفر بدم و هنگامی که هر دو به اینترنت وصل هستیم ip کامپیوترم رو به طرف مقابل بدم
میتونه با نسخه سرور که در کامپیوتر من نصب هست ارتباط برقرار کنه؟؟؟

خلاصه اگه کسی در این بحث اطلاعاتی داره کمکم کنه حتی اگه به سوالهای من ربطی نداشته باشیه(هر کی هر چی میدونه بگه)
چون خیلی به این اطلاعات نیاز دارم خیلی
منتظر کمکهای شما هستم
تا بعد خدا نگهدار

parandeh1383
چهارشنبه 17 آبان 1385, 09:30 صبح
سلام.
امیدوارم جوابهام بهتون کمک کنه. چون گفتید هرکی هرچی میدونه گفتم.

1- در یک شبکه اگر از یک رنج IP ثابت استفاده کنید که مشکلی ندارید. از همین IP استفاده کنید.

2- هنگام برقراری ارتباط IP فرد را بپرسید و ارتباط برقرار کنید.

3- این IP را اگر از این طریق بگیرید میتونید از طریق dialup هم ارتباط برقرار کنید:



1-در قسمت Network Connction بر روی گزینه Create a new conection کلیک کنید .
2-در پنجره Create a new conection Wizard گزینه Set up an Advanced conncetion رو انتخاب کنید.
3-در پنجره بعد گزینه Accept incoming connection رو انتخاب کنید.
4-در پنجره بعد مودم خودتون رو انتخاب کنید.
5-در پنجره بعد Radio Button ئ Do not allow ... را در حالت که گزینه پیش فرض هم هست انتخاب و بر روی دکمه Next کلیک کنید.
6-در پنجره بعد یک User جدید اضافه کنید .(مثلا User:test Pass:test ).
7-در پنجره بعد بر روی گزینه Internet Protocol (TCP/IP دابل کلیک کنید و در پنجره باز شده در قسمت TCP/IP address ass... بر روی Radio Button : Specify TCP/IP Address کلیک کنید.
8-در دو ادیت باکس فعال شده یک Range مشخص رو وارد کنید (اگر کارت شبکه دارید و برای اون مثلا IP 192.168.0.1 رو ست کردید نباید اولین Ip با IP کارت شبکه یکسان باشه چون به خود شما که سرور هستید تعلق میگیره) و به طور مثال From رو میزنیم 192.168.0.4 و To رو میزنیم 192.168.0.5 (این 192.168.0.5) به کامپیوتر متصل شونده تعلق میگیره(اگه بیشتر از یه کامپیوتر باشن باید قسمت چهارم To رو بیشتر بزنید . مثل 192.168.0.9 که با این کار میشه 5 تا کامپوتر وصل بشن که البته باید 5 تا مودم و 5 خط آزاد هم براشون مهیا باشه{اگه بخوان بطور همزمان وصل بشن}).
9-با زدن دکمه Ok به پنجره اصلی برگردید و با زدن دکمه Next همه چیز تمومه.
--------------------

amirsadeghi
چهارشنبه 17 آبان 1385, 16:21 عصر
اگه یه سرچ کوچولو می کردی می دیدی که خیلیها از این تاپیکها درست کردند ولی به هیچ جوابی نرسیدند.
(( از جمله خودم ))

joker
چهارشنبه 17 آبان 1385, 16:30 عصر
سلام خدمت همه دوستان عزیز
من میخوام یک برنامه چت تحت شبکه بنویسم و در این مورد چند تا سوال دارم

1 - من برای اینکه کامپیوتر های دیگه رو در شبکه شناسایی کنم باید چیکار کنم منظور اینکه از چه طریقی باید بین کامپیوتر ها
ارتباط برقرار بشه مثل ip یا نام کامپیوتر و ... و اینکه اگر از ip استفاده کنم این شماره آی پی همیشه ثابت خواهد بود؟
=====================
معمولا برای نرم افزارهای چت یک سرور ایجاد میشه که کاربرها بهش وصل میشن و لیستی از ip کلاینتها همیشه روی سرور هست مثلا اینطوری ( ALI:192.168.0.12
اینطوری هر کلاینتی بخواد میتونه به کلاینت دیگه مستقیما یه کانکشن ( با دونستن ip برقرار کنه
یه کم پردازش متن قاطیش کنی حله :)
=====================

2 - میخواستم بدونم که برنامه من در هر نوع شبکه ای کار خواهد کرد یا برای معماری های مختلف باید تنظیمات خاصی را انجام داد
============
اگه بر اساس پروتکل های استاندارد نوشته باشی (tcp-udp هر کامپیوتری که کارت شبکش درست نصب شده باشه برای نرم افزار شما قابل استفاده هست .
============


3 - من الان اگر یک نسخه کلاینت از نرم افزار رو به بک نفر بدم و هنگامی که هر دو به اینترنت وصل هستیم ip کامپیوترم رو به طرف مقابل بدم
میتونه با نسخه سرور که در کامپیوتر من نصب هست ارتباط برقرار کنه؟؟؟
=======
اگه آی پی سرور شما اطلاحا از نوع valid باشه بله این اتفاق بدون مشکل می افته. _
فقط حواست باشه فایروالها پورتهای غیر استاندارد را ممکنه جلوشونو بگیرن ، چک کن فایروالی تو راهت نباشه ، یا اگه هست برای پورت مورد استفاده شما تنظیم شده باشه )
=======

تا بعد خدا نگهدار .....................

amirsadeghi
چهارشنبه 17 آبان 1385, 16:35 عصر
منظور شما رو از این نقل قول نفهمیدم

shirzad_info
چهارشنبه 17 آبان 1385, 19:38 عصر
ببینین مشکل اصلی من شناسایی کامپیوتر ها در شبکه هست
من دو نسخه از نرم افزار رو نوشتم یکی سرور ویکی کلاینت
همه ip های کلاینت ها رو هم تو نسخه سرور ذخیره میکنم خلاصه همه چیز درست کار میکنه
اما یکی از دوستان میگفت که تو شبکه ip ها به صورت دوره ای تغییر میکنه در این صورت نمیتونی ارتباط برقرار کنی مشکل من اینه اگه این مشکلم حل بشه بقیه رو خودم میتونم حل کنم
حالا اگه کسی تو این زمینه تجربه ای داره کمکم کنه که خیلی خیلی بهش احتیاج دارم

فعلا خدا نگهدار

JavanSoft
چهارشنبه 17 آبان 1385, 19:45 عصر
بنظر می رسد بجای IP بهتر است از نام کامپیوتر استفاده کنید و از یک کامپوننت ساده برای پیدا کردن نامهها و نگهداری انها در یک TextFile استفاده کنید بد نباشد

joker
چهارشنبه 17 آبان 1385, 20:22 عصر
ببینین مشکل اصلی من شناسایی کامپیوتر ها در شبکه هست
من دو نسخه از نرم افزار رو نوشتم یکی سرور ویکی کلاینت
همه ip های کلاینت ها رو هم تو نسخه سرور ذخیره میکنم خلاصه همه چیز درست کار میکنه
اما یکی از دوستان میگفت که تو شبکه ip ها به صورت دوره ای تغییر میکنه در این صورت نمیتونی ارتباط برقرار کنی مشکل من اینه اگه این مشکلم حل بشه بقیه رو خودم میتونم حل کنم
حالا اگه کسی تو این زمینه تجربه ای داره کمکم کنه که خیلی خیلی بهش احتیاج دارم
فعلا خدا نگهدار
در اکثر موارد هیچ وقت ip ها ثابت نمیمونن..زمان تغییر دوره ای نیست ، کاملا ممکنه رندوم باشه ولی در هر بار اتصال کامپیوتر به شبکه یک IP به اون اختصاص داده میشه که تا زمان دیسکانکت کردن اون ip به صورت اختصاصی به اون کلاینت هست و کامپیوتر دیگه ای نمیتونه اون آدرس را همزمان توی شبکه داشته باشه .

اگه از پروتکل TCP استفاده کنی تا مادامی که کلاینت به سرور وصل باشه ،IP اون تغییر نمیکنه و مشکلی نخواهی داشت...

نکته : IP سرور را همیشه ثابت نگه میدارن. نهایتا اگه توی یک شبکه lan هستی و نمیتونی ip سرورت را هم ثابت نگه داری مجبوری از اسم کامپیوتر به جای Ip سرور استفاده کنی.
ولی این فقط مختص شبکه لن با رنج ip یکسان انجام میشه و روی اینترنت دیگه جوابگو بهت نیست.


منظور شما رو از این نقل قول نفهمیدم منظور بدی نداشتم :لبخند:

shirzad_info
چهارشنبه 17 آبان 1385, 20:45 عصر
منظورتون از رنج آی پی یکسان چیه؟

joker
چهارشنبه 17 آبان 1385, 22:06 عصر
منظورتون از رنج آی پی یکسان چیه؟
توی شبکه لن مثلا 192.168.0.1 تا 192.168.0.254 با سابنت مسک 255.255.255.0 یک رنج حساب میشن/. و کامپیوتر های این رنج به هم دیگه دسترسی دارن.

http://forums.simorgh-ev.com/viewtopic.php?t=35&postdays=0&postorder=asc&start=15

amirsadeghi
پنج شنبه 18 آبان 1385, 09:06 صبح
جناب JavanSoft
اون کامپوننتی که فرمودید نام کامپیوترها رو به دست می آورد را میشه اینجا بزارید؟