ورود

View Full Version : ارسال داده از طریق wifi در اندروید



f.asadkhani
دوشنبه 08 اردیبهشت 1393, 08:36 صبح
باسلام
دوستان کد ارسال داده از طریق وای فای رو کسی نداره؟؟

rubiks.kde
دوشنبه 08 اردیبهشت 1393, 09:44 صبح
داده رو به کجا میخوایید بفرستید؟(کامپیوتر یا گوشی)

باید از socket programming استفاده کنید.

f.asadkhani
دوشنبه 08 اردیبهشت 1393, 09:48 صبح
به کامپیوتر
کدش رو از کجا گیربیارم؟؟

f.asadkhani
دوشنبه 08 اردیبهشت 1393, 09:49 صبح
هرچی سرچ میکنم چیزی پیدا نمیکنم. لطفا یه کم توضیح بدین..

rubiks.kde
دوشنبه 08 اردیبهشت 1393, 10:33 صبح
به دنبال نمونه هایی از برنامه نویسی سوکت باشید.
توی انجمن هم اگه بگردید چندین تاپیک در این مورد بوده است.

فرض کنید می خوایید اطلاعات رو از گوشی به کامپیوتر بفرستید پس باید یک سرور در کامپیوتر و یک کلاینت در گوشی داشته باشید.

سمت سرور :

String msg_received;

ServerSocket socket = new ServerSocket(1755);
Socket clientSocket = socket.accept(); //This is blocking. It will wait.
DataInputStream DIS = new DataInputStream(clientSocket.getInputStream());
msg_received = DIS.readUTF();
clientSocket.close();
socket.close();

سرور در پورت 1755 داره گوش میده و منتظر دریافت اطلاعاته.
حال در سمت کلاینت(گوشی) یک ارتباط از طریق ip و همین پورت برقرار میکنیم و اطلاعات رو در وان پورت مینویسیم.

سمت کلاینت :

Socket socket = new Socket("192.168.0.1",1755);
DataOutputStream DOS = new DataOutputStream(socket.getOutputStream());
DOS.writeUTF("HELLO_WORLD");
socket.close();

بعد از این سرور خواهد توانست اطلاعات رو بخونه و نمایش بده.

برای دیدین یه مثال جامع تر به اینجا (http://www.edumobile.org/android/android-development/socket-programming/) مراجعه کنید.

sara_traveler
دوشنبه 08 اردیبهشت 1393, 20:30 عصر
مي خوايد اطلاعات در اسكيول سيستم ذخيره كنيد؟
يا در سرور و از طريق ايپي وليد؟

من خودم برناممم اطلاعات ويزيتور از طريق اينترنت , ip valid روي سرور داره ذخيره ميكنه
اگر اينطوري هست بگين تا كمكتون كنم

rubiks.kde
دوشنبه 08 اردیبهشت 1393, 21:33 عصر
مي خوايد اطلاعات در اسكيول سيستم ذخيره كنيد؟
يا در سرور و از طريق ايپي وليد؟

من خودم برناممم اطلاعات ويزيتور از طريق اينترنت , ip valid روي سرور داره ذخيره ميكنه
اگر اينطوري هست بگين تا كمكتون كنم

دوست عزیز الان بحث اسکیول و ... نیست.
تنها ارسال اطلاعاته

f.asadkhani
پنج شنبه 11 اردیبهشت 1393, 12:29 عصر
سلام
اون مثال جواب داد گرچه که اصلا نفهمیدم چی هس و چیکار میکنه ..
وای فای مستقیم چیه که برای ارسال داده ازش استفاده میشه؟
برنامه نویسی سوکت (اون مثاله) از طریق وای فای داده ارسال میشد؟؟

mohsen22
پنج شنبه 11 اردیبهشت 1393, 14:00 عصر
سلام،هر دوگوشی رو میشه مستقیل با وای فای به هم متصل کرد؟یا حتما آباید از طریق روتر یا اکسس پویت؟مرسی

rubiks.kde
پنج شنبه 11 اردیبهشت 1393, 14:30 عصر
سلام
اون مثال جواب داد گرچه که اصلا نفهمیدم چی هس و چیکار میکنه ..
وای فای مستقیم چیه که برای ارسال داده ازش استفاده میشه؟
برنامه نویسی سوکت (اون مثاله) از طریق وای فای داده ارسال میشد؟؟

شما تا چه حد با برنامه نویسی شبکه آشنایی دارید؟
اگر مبتدی باشید 100 درصد متوجه کد نخواهید شد.

ارتباط بین دو دستگاه در محیط یه شبکه صورت میگیره حالا اون شبکه میخواد با lan ساخته شده باشه یا wifi

rubiks.kde
پنج شنبه 11 اردیبهشت 1393, 14:32 عصر
سلام،هر دوگوشی رو میشه مستقیل با وای فای به هم متصل کرد؟یا حتما آباید از طریق روتر یا اکسس پویت؟مرسی

شما داری حرف از یک شبکه میزنی ، پس نیاز به یک اکسس پوینت دارید.
بعضی گوشی ها این قابلیت رو دارن wifi hotspot درست کنن و دیگر دستگاها بهش وصل بشن

f.asadkhani
شنبه 13 اردیبهشت 1393, 10:35 صبح
باسلام
ببخشید لطف کنید این سوالم رو جواب بدین،ان شاالله آخریه که مشکلم حل بشه....
من توسیستمی که برنامه رونوشتم روی 2 تا avd تست کردم(پورت سرور رو عوض کردم،همونطور که گفته بودین) و جواب داد.

الان میخام به سیسیتمی که داخل شبکه lan هست با استفاده از wifi داده ارسال کنم.
باید چکارکنم؟؟چجوری اونو تبدیل به سرور کنم.این سیستم که میخام سرور باشه برنامه اندروید نداره فقط وای فای داره و یه برنامه دلفی که مقادیری دریافتی از وای فای رو نشون میده،
avd سرور رو که روی این سیستمی هس که باهاش برنامه اندروید مینویسم رو همینجا باید اجرا کنم یا اجرا نکنم و درسیستم سرورمنتظر پیام این avd درون سیسیتم کلاینت باشم؟؟

اگ باید روی اون سیستم هم اندروید نصب و برنامه سرور را روی اون اجرا کنم پورت سرور رو چند بدم؟؟؟لطفا کامل توضیح بدین من سردرگم موندم...........
لطفا در صرت امکان جواب بدین چن روزه روش موندم..
باتشکر.

rubiks.kde
شنبه 13 اردیبهشت 1393, 11:34 صبح
فرقی نمیکنه ، برای ایجاد سرور یه برنامه با هر زبانی که میخواهید بنویسید و روی یک پورت مشخص گوش دهید حالا از هر برنامه کلاینت دیگه که در همون شبکه هست بهش وصل بشید.(یعنی آی پی اون سیستم رو به همراه پورت بهش بدید و بعد وصل بشید).

چند نکته رو باید رعایت کنید یکی اینکه اگه از AVD استفاده میکنید باید پورت فورواردینگ رو انجام بدید که توصیه میشه برای راحتی عمل تست حتما از دستگاه واقعی استفاده کنید.

mrtzxxx
شنبه 13 اردیبهشت 1393, 20:30 عصر
داده رو به کجا میخوایید بفرستید؟(کامپیوتر یا گوشی)

باید از socket programming استفاده کنید.

آیا منبعی سراغ دارید که بشه یاد گرفت منم علاقه مند شدم به مبحث socket programming :لبخند:

Ariel Ortega
شنبه 13 اردیبهشت 1393, 20:54 عصر
آیا منبعی سراغ دارید که بشه یاد گرفت منم علاقه مند شدم به مبحث socket programming :لبخند:

بهترین منبع واسه یادگیری جاوا، خود داکیومنت های اوراکله، اینجا (http://docs.oracle.com/javase/tutorial/networking/sockets/)
این (http://www.javaworld.com/article/2077322/core-java/sockets-programming-in-java-a-tutorial.html)مقاله هم بدک نیست!

f.asadkhani
دوشنبه 15 اردیبهشت 1393, 08:49 صبح
با سلام و تشکر فراوان بابت راهنمایی مفیدتون برنامم جواب داد..
الان اگر بخام امکان چت بزارم که سرور هم بتونه داده بفرسه و کلاینت هم دریافت کنه ،چ جوری باید بگم؟؟
بازم مرسی...

f.asadkhani
دوشنبه 15 اردیبهشت 1393, 11:34 صبح
هیچکی نیس جواب منو بده برنامه نویسان اندروید؟؟؟؟؟
هرچی چک میکنم دریغ از یک جواب خشک و خالی....:ناراحت:

rubiks.kde
دوشنبه 15 اردیبهشت 1393, 18:06 عصر
واسه چت شما باید هم سرور و هم کلاینت رو در دو طرف داشته باشید.
مثلا وقتی شما با آی پی 192.168.1.10 به سرور وصل میشید و روی پورت اون مینویسید اون هم باید روی همین آدرس و یک پورت مشخص بتونه بنویسه.

در واقع عمل باید دو طرفه باشه

f.asadkhani
یک شنبه 18 خرداد 1393, 10:26 صبح
باسلام

آیا در برنامه نویس سوکت از طریق udp یا tcp میشه اول سرور درخواست بده به کلاینت(یه متن ارسال کنه) قبل اینکه کلاینت به سرور درخواستی داده باشه( متنی ارسال کنه)..

باتشکر

rubiks.kde
یک شنبه 18 خرداد 1393, 17:24 عصر
باسلام

آیا در برنامه نویس سوکت از طریق udp یا tcp میشه اول سرور درخواست بده به کلاینت(یه متن ارسال کنه) قبل اینکه کلاینت به سرور درخواستی داده باشه( متنی ارسال کنه)..

باتشکر

یعنی چی ؟الان شما دارید مفهوم سرور کلاینت رو میبری زیر سوال ، همیشه اونی که درخواست میده کلاینته و اونی که به درخواست جواب میده سروره .

دقیق بگید منظورتون چیه؟میخواهید چیکار کنید