PDA

View Full Version : مشکل در Wifi Hotspot



seyed.javad.majidi
پنج شنبه 23 آذر 1391, 13:16 عصر
سلام
یک سوال دارم ممنون میشم راهنماییم کنید(من زیاد با روند این سایت آشنا نیستم اگه بد جایی زدم ببخشید)


خوب سوالم:
من یک برنامه دارم که میشه باهاش چت کرد.کدش کار میکنه از کجا فهمیدم از جایی که من به روتر adsl متصل شدم با نوشتن یک برنامه چت در دلفی برنامم رو امتحان کردم (منظور لب تابم با گوشی) و بدون اون هم من با آی پی 127.0.0.1 در گوشی برنامه کار میکنه....
(اینارو گفتم بدونید کد چت من مشکل نداره.)

حالا مشکل من چیه من وقتی کدی رو اجرا میکنه تا یک شبکه بر اساس وای فای بسازه اون میسازه! و حتی مثلا همین لبتابم و سایر سیستم هایی که قادرن میتونن بش متصل بشن و بدون اینکه من تنظیماتی برای ip و dns و... خودش نمی دونم چجوری تنظیم کرده که سیستم هایی که به شبکه ای که من با برنامه ای که رو گوشیم دارم متصل میشن این آی پی رو بهشون میده : 192.168.43.* اون ستاره هم که متغیره حالا مثلا من با لب تاب متصل شدم بم نشون داد که سرور آی پیشی اینه 192.168.43.1 !!!!!!!!!!!!!!! وقتی من از طریق گوشی خودم که اتفاقا راه انداز شبکس به اون سیستمی که بم متصل هست با آی پی ای که بش شبکه داده پیام میده خطا صادر میشه مثلا آی پی اون اینه: 192.168.43.5 و وقتی اون طبق مشخصات شبکه سرور که بش میگه آی پی روتر (که گوشیه منه) 192.168.43.1 رو تو برنامه ست میکنه و به اون پیام مده باز هم خطا میده!!!!!



قابل توجه که من در اینترنت هیچ کدی که در هنگام ساخت یک شبکه آی پی و تنظیماتی رو هم ست کنه ندیدم که فقط بصورت جدا گانه تحت بحث جدا گانه ای روش ست کردن آیپی ایتا رو گفته که بدرد من نمیخوره!!!!!

چون اصلا ست کردن آیپی و دی ان اس و .... شبکم دست من نیست و خودکار ایجاد میشه!!!!!!!1



بنظر شما من با این مشکل چه کنم؟

seyed.javad.majidi
پنج شنبه 23 آذر 1391, 17:17 عصر
دوستان لطفا کسی کمک کنه :-(
اگه فک میکنین نیازه بخشی از کد رو قرار بدم بگین.

خیلی خیلی نیازه دوستان

srfarzad
جمعه 24 آذر 1391, 14:38 عصر
من زیاد حرفاتون رو نگرفتم ، منظورتون رو بهتر بنویسید چند بار خوندم نگرفتم

خب یه اسکرین شات از لاگ خودتون رو بدین...و همچنین اگه لازمه کد رو بزارید تا باگش رو در بیارم

seyed.javad.majidi
جمعه 24 آذر 1391, 20:08 عصر
سلام :گریه:
ببخت شدم :ناراحت:
من یه کد دارم که اجراش میکنی یه شبکه وای فای راه میندازه (Wifi Hotspot)
خوب مشکل یا سوال 1:
آیپی من چیه؟؟؟(آی پی من که الان شدم سرور شبکه یا همون روتر مانند!! من با کدی میتونم آی پی رو شناسایی کنم که برام میده 0.0.0.0 یعنی این آی پی آی پی من هست!)
مشکل یا سوال 2:
آیا میشه در حین راه اندازی شبکه تنظیمات مربوط به دی ان اس و آی پی و ... رو هم ست کرد؟
چون ناخواسته یا خواسته تمام سیستم ها چه گوشی چه غیر گوشی که از طریق وای فای به شبکه گوشی من متصل میشن رنج آی پیشون اینه: 192.168.43.* که ستاره بر هرکسی یه چیزی هست!

مشکل یا سوال سوم:
من یه برنامه چت دارم که در فضا اینترنت و شبکه های دیگه کار میکنه و میشه با ملت چت کرد! اما تو شبکه ای که من ساختم اول وقتی کسی میخواد با من در ارتباط باشه آی پی من رو نداره! دومن من که آی پی اون رو دارم هم نمی تونم بش پیام بدم لازم بذکر است که من برنامه های چت رو یکی در گوشی خودم که هم اکنون روتر شبکه هست اجرا کردم و دومی هم در یک گوشی ای که به شبکه من متصل شده...!

من تمام این مراحل در گوشی و خارج از املاتور هستش برا همین لاگ ماگی ندارم :لبخندساده:

برا کد هم هرجاشو دیدین لازمه تا بزارم....

اصلا یچیزی بیاین کلا به من بگین چجوری با کد شبکه راه بندازم و آی پی ست کنم و البته آیپی خودم رو بدونم اینجوری من میتونم روش و کارهاتون رو با کدای خودم بسنجم!!!!!!!!!


شرمنده پورویم ولی ممنون میشم کمکم کنین واقعا خیلی خیلی نیازه
اگه میتونی که بیاین رو چت ممنون میشم یا همینجا بگید:
tnt_2006_2007[at]yahoo[Dot]com

shahin bahari
جمعه 24 آذر 1391, 20:30 عصر
من تمام این مراحل در گوشی و خارج از املاتور هستش برا همین لاگ ماگی ندارم
من راجع به مشکلتون اطلاعی ندارم اما خواستم این مورد رو بگم که حتی اگر خارج از امولاتور کار کنید باز هم لاگ ها رو میتونید ببینید. اگر گوشیتون وصل باشه به سیستم داخل log cat اکلیپس میتونید ببینید. اگر هم وصل نکنید با استفاده از برنامه های مانیتورینگ میتونید لاگ های ایجاد شده رو گوشیتون رو ببینید.
خوندن این لاگ ها و لاگ هایی که خودتون میزارید خیلی کمک میکنه تو حل مشکل...

Modernidea
شنبه 25 آذر 1391, 01:50 صبح
سلام

سلام


آیپی من چیه؟؟؟

برای بدست آورد IP دستگاه باید ابتدا اجازه دسترسی را به وسیله کد زیر در manifest تعیین کنید:
// AndroidManifest.xml permissions
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />


چند راه برای بدست آوردن IP یا IPهای دستگاه وجود داره که یکی از آنها را اینجا ذکر میکنم:
در این کد IP دستگاه بدست میاد و بعد از تبدیل شدن به اعداد ده دهی، تابع، این مقدار را برمیگرداند.

public String getLocalIpAddress() {
try {
for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress()) {
String ip = Formatter.formatIpAddress(inetAddress.hashCode());
Log.i(TAG, "***** IP="+ ip);
return ip;
}
}
}
} catch (SocketException ex) {
Log.e(TAG, ex.toString());
}
return null;
}



من با کدی میتونم آی پی رو شناسایی کنم که برام میده 0.0.0.0 یعنی این آی پی آی پی من هست!
اگر کد شما درست عمل کند و IP دستگاه همین باشد، نشان میدهد که هیج IP ای به صورت خودکار برای دستگاه شما تنظیم نشده است و باید به صورت دستی آن را تنظیم کنید.


آیا میشه در حین راه اندازی شبکه تنظیمات مربوط به دی ان اس و آی پی و ... رو هم ست کرد؟
بله ظاهرا میشود. اول باید اجازه دسترسی را در manifest تعریف کنید:
<uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission>

به وسیله دستورهای زیر میتونید مشخصه های IP,DNS,GATEWAY را تنظیم کنید.
نکته: طبق گفته گوگل (http://developer.android.com/reference/android/provider/Settings.System.html#WIFI_STATIC_IP)، بعضی از این دستورها در بعضی سطوح APIها مشکل دارند. مثلا تنظیم IP که در API سطح 17 مشکل دارد.

final ContentResolver cr = getContentResolver();
Settings.System.putString(cr, Settings.System.WIFI_STATIC_IP, "you.re.ip.addr");
Settings.System.putString(cr, Settings.System.WIFI_STATIC_DNS1, "192.168.0.2");
Settings.System.putString(cr, Settings.System.WIFI_STATIC_DNS2, "192.168.0.3");
Settings.System.putString(cr, Settings.System.WIFI_STATIC_GATEWAY, "192.168.0.1");
Settings.System.putString(cr, Settings.System.WIFI_STATIC_NETMASK, "255.255.255.0");
// call putString() for each value to set for your interface
نکته: اگر در اندروید 3 و 4 هم جواب نداد، باید از WifiConfiguration استفاده کنید که که در این لینک (http://stackoverflow.com/a/10309323/478162) بیشتر توضیح داده شده.


موفق باشید.

منبع:http://stackoverflow.com/questions/2922455/api-for-configuring-static-ip-addresses-in-an-android-application