View Full Version : سوال: شبکه
saeidfarahi
شنبه 24 مرداد 1388, 18:38 عصر
من یک برنامه سرور نوشتم و یک برنامه کلاینت. برنامه کلاینت وقتی راه اندازی می شه باید آدرس ip یا اسم کامپیوتری که برنامه سرور روی اون نصبه رو بدونه . من الآن فقط می تونم بطور دستی اسم کامپیوتر سرور رو بگیرم ولی می خوام که بطور خودکار برنامه ی کلاینتم اسم کامپیوتری که برنامه سرور روی اون نصبه رو بگیره. چطوری؟
Sociant
شنبه 24 مرداد 1388, 18:48 عصر
راهی مطمئنی وجود نداره
راهی که به ذهنم میرسه استفاده از multicast هست. با این حال بازم IPو Port مربوط به Multicast رو باید کلاینت بدونه ! غیر از این ، اگه کسی از این مکانیزم با خبر بشه میتونه خودشو جای سرور جا بزنه و آدرس خودشو بعنوان سرور به کلاینت بده !
اکثر جاها آدرس سرور از پیش تعیین شده
mmramezani2101
شنبه 24 مرداد 1388, 22:24 عصر
من یک برنامه سرور نوشتم و یک برنامه کلاینت. برنامه کلاینت وقتی راه اندازی می شه باید آدرس ip یا اسم کامپیوتری که برنامه سرور روی اون نصبه رو بدونه . من الآن فقط می تونم بطور دستی اسم کامپیوتر سرور رو بگیرم ولی می خوام که بطور خودکار برنامه ی کلاینتم اسم کامپیوتری که برنامه سرور روی اون نصبه رو بگیره. چطوری؟
می تونیاز رجیستری استفاده کنی و موقعه اجرای برنامه بری و بخونی اگه نبود از کاربر بپرسی و تو رجیستری بریزی دفعات بعدی که برنامه اجرا میشه رجیستری رو چک می کنه
در باره خواندن و نوشتن تو رجیستری اگه بگردی چیزهای جالبی پیدا میکند اگه نبود بگو تا آپلود کنم
navid_8x
یک شنبه 25 مرداد 1388, 02:25 صبح
لطفا بیشر در مورد چگونگی طراحی برنامت بگو.
13601360
یک شنبه 25 مرداد 1388, 02:39 صبح
دوست عزیز dll ضمیمه شده رو دانلود کنید و به References اضافه کنید
سپس از این کد نمونه استفاده کنید
using (RasDialer dialer = new RasDialer())
{
foreach (RasConnection connection in dialer.GetActiveConnections())
{
RasIPInfo info = (RasIPInfo)connection.GetProjectionInfo(RasProject ionType.IP);
if (info != null)
{
Console.WriteLine("Client: {0}", info.IPAddress.ToString());
Console.WriteLine("Server: {0}", info.ServerIPAddress.ToString());
}
}
}
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.