View Full Version : برنامه نویسی سوکت
hixnal
چهارشنبه 07 بهمن 1394, 12:35 عصر
سلام به همه
من دارم برنامه می نویسم که فقط وصل بشه به سرور و داده ای رو برای سرور بفرسته و هر چی سرور در جواب براش می فرسته رو توی textview نمایش بده و وقتی ارتباط از سمت سرور قطع شد پیام بده که ارتباط قطع شده
لطفا اگه کسی می تونه سورشو بگذاره
ممنون
dalmif
چهارشنبه 07 بهمن 1394, 15:42 عصر
سلام.
خوب یه چنین برنامه ای کار خاصی رو انجام نمیده و سورس هاش تو سایت های خارجی فراوانه.
فقط لازمه کمی اشنایی داشته باشید.
یا علی مدد
hixnal
چهارشنبه 07 بهمن 1394, 15:48 عصر
سلام - من چند ساله دارم سوکت کار می کنم و این اولین تجربه روی اندروید هست.
خیلی دنبالش گشتم تنها کاری که تونستم انجام بدم اینه که ارتباط برقرار کنم و داده بفرستم ولی برای گرفتن داده از سرور مشکل داشتم .
اگر مقدور است سورسشو بگذارید .
ممنون
Raminab
چهارشنبه 07 بهمن 1394, 16:25 عصر
سلام .
این آموزش به نظر من برای شروع مناسبه . اول سر فصل هاش رو نگاه کنید ببینید مناسبتون هست یا خیر
http://www.lynda.com/Android-tutorials/Connecting-Android-Apps-RESTful-Web-Services/163757-2.html
hixnal
چهارشنبه 07 بهمن 1394, 16:52 عصر
سلام - این اموزش مربوط به وب سرویس ها هست. من خود ارتباط با سوکت می خوام
بازم ممنون
godofphp
چهارشنبه 07 بهمن 1394, 17:20 عصر
دوست گرامی من خوندم بالاتر شما حداقل سه چهار بار از کلمه سوکت استفاده کردید . این رو باید بهتون بگم که هیچ ارتباطی بین سوکت برنامه نویسی سوکت سخت افزار و .... که انجام دادید با برنامه نویسی اندروید نیست پس آوردن این کلمه بین جمله هاتون بی معنی هست .
برای ارتباط با سرور شما باید یک اتصال بین دستگاه اندرویدی و سرور برقرار کنید .
سمت سرور api خودتون رو بنویسید و سمت دستگاه اندروید برنامه ی اندرویدی که Api رو پردازش کنه
برای این کار از ارتباطات جیسان Json استفاده کنید
Link for help (http://osamashabrez.com/simple-client-server-communication-in-android/)
#root#
چهارشنبه 07 بهمن 1394, 18:23 عصر
اگر منظورتون WebSocket هست اینجا (https://android-arsenal.com/tag/113) چند تا کتابخونه هست، اولی رو دیدم امکاناتی که میخوایید رو داره.
hixnal
چهارشنبه 07 بهمن 1394, 20:03 عصر
فکر کنم سوالم رو شفاف نوشته ام
من فقط یه نرم افزار می خوام که به یک سرور با یک پورت مشخص متصل بشه و فقط یک متن ساده بفرسته و منتظر بمونه هر چی داده اومد بگیره و شون بده (برنامه نویسی تحت شبکه )
اصلا فرض کنید برنامه nc پشت سرور هست
اون websocket فکر کنم api مربوط به ارتباط با وب سرورها برمبنای پروتکل http هست .
من توی برنامه خودم ، خودم پروتکل تعریف کردم و نیاز نیست از http استفاده کنم
hixnal
چهارشنبه 07 بهمن 1394, 21:45 عصر
مثلا این سورس رو ببینید . ارتباط که برقرار شد فقط داده می تونم بفرستم ولی از سرور دیگه نمی تونم داده بگیرم
package com.javacodegeeks.android.androidsocketclient;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
public class Client extends Activity {
private Socket socket;
private static final int SERVERPORT = 5000;
private static final String SERVER_IP = "10.0.2.2";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
new Thread(new ClientThread()).start();
}
public void onClick(View view) {
try {
EditText et = (EditText) findViewById(R.id.EditText01);
String str = et.getText().toString();
PrintWriter out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())),
true);
out.println(str);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
class ClientThread implements Runnable {
@Override
public void run() {
try {
InetAddress serverAddr = InetAddress.getByName(SERVER_IP);
socket = new Socket(serverAddr, SERVERPORT);
} catch (UnknownHostException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}
hixnal
پنج شنبه 08 بهمن 1394, 21:03 عصر
کسی اطلاعی نداره ؟
roohola2434
جمعه 31 فروردین 1397, 06:12 صبح
با هاست نمیشه همچین کاری انجام داد؟
منم میخواسم سوکت کار کنم ولی سرور ندارم
c0mmander
شنبه 01 اردیبهشت 1397, 19:47 عصر
با هاست نمیشه همچین کاری انجام داد؟
منم میخواسم سوکت کار کنم ولی سرور ندارم
خیر در هاست نمیشه برای اینکار یا vps تهیه کنید یا از کلود استفاده کنید. کلودهای داخل هم سوکت رو پشتیبانی میکنن
m.alinejad
یک شنبه 20 بهمن 1398, 09:17 صبح
این دوره WebSocket رو هم ببینید
Lynda - Node.js: Real-Time Web with Socket.IO (https://yadgirino.com/course/5618/nodejs-real-time-web-with-socketio)
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.