نمایش نتایج 1 تا 11 از 11

نام تاپیک: اتصال اندروید کلاینت به سرور درون کامپوتر

  1. #1

    اتصال اندروید کلاینت به سرور درون کامپوتر

    سلام من این کد رو برای اتصال موبایل به کامپوتر با استفاده از شبکه وای فای انجام دادم با اینکه با ماشین مجازی کارکرد اما روی گوشیم در مرحله connecting می ماند به نظر شما مشکل کجا است


    public class MainActivity extends Activity {

    EditText editText ;
    Button send ;
    public static TextView txt;


    /////
    private String serverMessage;
    public static final String SERVERIP = "192.168.1.100";
    public static final int SERVERPORT = 4444;
    private OnMessageReceived mMessageListener = null;
    private boolean mRun = false;
    PrintWriter out;
    BufferedReader in;
    DataOutputStream dataOutputStream = null;
    Thread t;

    Runnable con=new Runnable() {

    @Override
    public void run() {
    // TODO Auto-generated method stub
    mRun = true;
    try {
    InetAddress serverAddr = InetAddress.getByName(SERVERIP);
    Log.e("TCP Client", "C: Connecting...");

    MainActivity.txt.setText("C: Connecting..."+serverAddr);

    //Socket socket = new Socket("192.168.1.1", SERVERPORT);
    Socket socket = new Socket(serverAddr, SERVERPORT);
    /// //os = socket.getOutputStream();

    if(socket.isBound())
    {
    Log.i("SOCKET", "Socket: Connected");
    MainActivity.txt.setText("C: Connected...");

    }
    else
    {
    Log.e("SOCKET", "Socket: Not Connected");
    MainActivity.txt.setText("C:Not Connected");
    }
    try
    {
    out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
    /* dataOutputStream = new DataOutputStream(socket.getOutputStream()); byte[] bytes = new byte[] {1}; dataOutputStream.write(bytes, 0, bytes.length); */
    Log.e("TCP Client", "C: Sent.");
    MainActivity.txt.setText("C:Sent");
    Log.e("TCP Client", "C: Done.");
    MainActivity.txt.setText("C: Done");
    if(out.checkError()) { Log.e("PrintWriter", "CheckError"); }
    in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    while (mRun)
    { serverMessage = in.readLine();
    if (serverMessage != null && mMessageListener != null) {
    mMessageListener.messageReceived(serverMessage); } serverMessage = null; }
    Log.e("RESPONSE FROM SERVER", "S: Received Message: '" + serverMessage + "'"); }
    catch (Exception e)
    {
    Log.e("TCP", "S: Error", e);
    MainActivity.txt.setText(e.toString());

    }
    finally { socket.close(); }
    }

    catch (Exception e) {
    Log.e("TCP", "C: Error", e);
    MainActivity.txt.setText("C:"+e);
    }
    }
    };

    /////
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Log.d("start", "execute");
    editText = (EditText)findViewById(R.id.editText1);
    send = (Button)findViewById(R.id.button1);
    txt=(TextView)findViewById(R.id.textView1);
    // connect to the server
    // Looper.prepare();
    ///////
    t=new Thread(con);
    t.start();


    ////////

    // new connectTask().execute("");
    //Log.d("excute", "execute");
    send.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    String message = editText.getText().toString();
    if (out != null && !out.checkError())
    {
    out.print(message);
    out.flush();
    }
    //sends the message to the server
    //if (mTcpClient != null)
    // {
    // mTcpClient.sendMessage(message); }
    editText.setText("");
    }
    });


    }





    کدی که روی کامپوتر نوشتم نیز این است




    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    //using System.Drawing;
    using System.Linq;
    using System.Text;
    //using System.Windows.Forms;
    using System.Net.Sockets;
    using System.Net;
    using System.Threading;
    using System.IO;


    namespace ConsoleApplication5
    {
    class Program
    {
    static Socket listeningSocket;
    static Socket socket;
    static Thread thrReadRequest;
    static int iPort = 4444;
    static int iConnectionQueue = 100;

    static private void getRequest()
    {
    int i = 0;
    while (true)
    {
    i++;
    Console.WriteLine("Outside Try i = {0}", i.ToString());
    try
    {
    // socket = listeningSocket.Accept();
    socket = listeningSocket.Accept();
    byte[] a = new byte[1024];
    string text_rec = "";
    while (text_rec != "exit")
    {
    socket.Receive(a);
    text_rec = Encoding.Default.GetString(a);
    if(text_rec!="")
    Console.WriteLine(text_rec);
    }


    //using reader }//using ns
    // Receiving //byte[] rcvLenBytes = new byte[4];
    //socket.Receive(rcvLenBytes);
    //int rcvLen = System.BitConverter.ToInt32(rcvLenBytes, 0);
    //byte[] rcvBytes = new byte[rcvLen];
    //socket.Receive(rcvBytes);
    //String formattedBuffer = System.Text.Encoding.ASCII.GetString(rcvBytes);

    //byte[] buffer = new byte[socket.SendBufferSize];
    //int iBufferLength = socket.Receive(buffer, 0, buffer.Length, 0);
    //Console.WriteLine("Received {0}", iBufferLength);
    //Array.Resize(ref buffer, iBufferLength);
    //string formattedBuffer = Encoding.ASCII.GetString(buffer);
    //Console.WriteLine("Data received by Client: {0}", formattedBuffer);
    // socket = listeningSocket.Accept();
    // using (NetworkStream nt = new NetworkStream(socket))
    // {
    // using (StreamReader reader = new StreamReader(nt))
    // {
    // string line;
    // // string line;
    // // while ((line = reader.ReadLine()) != null)
    // //as networkstream never got eof. was using it as replacement while(true)
    // // {
    // while (true)
    // {
    // try
    // {
    // line = reader.ReadLine();
    // if (line == "quit")
    // {
    // socket.Close();
    // listeningSocket.Close();
    // Environment.Exit(0);
    // }
    // Console.WriteLine("Inside Try i = {0}", i.ToString());
    // Thread.Sleep(500);
    // }
    // catch (IOException)
    // {
    // break;
    // }
    // Console.WriteLine(line);
    // }
    // }
    // //using reader
    // }
    // //using ns

    }
    catch (Exception e)
    {
    //socket.Close();
    Console.WriteLine("Receiving error: " + e.ToString()); Console.ReadKey();
    //throw;
    }
    finally
    {
    socket.Close();
    //listeningsocket.close();
    }
    }
    }
    static private string getLocalIPAddress()
    {
    IPHostEntry host;
    string localIP = "";
    host = Dns.GetHostEntry(Dns.GetHostName());
    foreach (IPAddress ip in host.AddressList)
    {
    if (ip.AddressFamily == AddressFamily.InterNetwork)
    {
    localIP = ip.ToString();
    break;
    }
    }
    return localIP;

    }


    static void Main(string[] args)
    {
    Console.WriteLine(IPAddress.Parse(getLocalIPAddres s()).ToString());
    try
    {
    listeningSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    listeningSocket.Bind(new IPEndPoint(0, iPort));
    // listeningSocket.Bind(new IPEndPoint(IPAddress.Parse(getLocalIPAddress()), iPort));
    listeningSocket.Listen(iConnectionQueue);
    thrReadRequest = new Thread(new ThreadStart(getRequest));
    thrReadRequest.Start();
    }
    catch (Exception e)
    {
    Console.WriteLine("Winsock error: " + e.ToString()); //throw;
    }
    }
    }
    }



  2. #2
    مدیر بخش آواتار rubiks.kde
    تاریخ عضویت
    آبان 1390
    محل زندگی
    مشهد
    پست
    1,537

    نقل قول: اتصال اندروید کلاینت به سرور درون کامپوتر

    اگه از درست بودن کد مطمئن هستید چک کنید IP ها رو درست وارد کرده باشید.همچنین یک بار با غیر فعال کردن فایروال سیستم این کار رو تکرار کنید.
    وگرنه هم کد رو بزارید که بشه اجرا کرد تا پی به خطا برد.
    YES I AM Qt


    Code Less
    Create More
    Deploy Everywhere

  3. #3

    نقل قول: اتصال اندروید کلاینت به سرور درون کامپوتر


  4. #4

    نقل قول: اتصال اندروید کلاینت به سرور درون کامپوتر

    به نظرم تو قسمت اول وقتی if گذاشتی کد رد میشه ، یعنی برنامه منتظر نمیمونه تا IF ها رو چک کنه و به کار خودش ادامه میده...

  5. #5

    نقل قول: اتصال اندروید کلاینت به سرور درون کامپوتر

    تو ماشین مجازی کار می کنه

  6. #6
    کاربر دائمی آواتار mohsen22
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    ??????
    پست
    431

    نقل قول: اتصال اندروید کلاینت به سرور درون کامپوتر

    خب بعد از ارتباط چه کاری انجام میده؟

  7. #7

    نقل قول: اتصال اندروید کلاینت به سرور درون کامپوتر

    از طرف گوشی می توان متنی برای کامپوتر فرستاد و کامپوتر نشان می دهد

  8. #8
    مدیر بخش آواتار rubiks.kde
    تاریخ عضویت
    آبان 1390
    محل زندگی
    مشهد
    پست
    1,537

    نقل قول: اتصال اندروید کلاینت به سرور درون کامپوتر

    برنامه شما رو تست کردم و هیچ مشکلی نداشت.
    اول IP ها رو درست وارد کنید و بعد firewall سیستم رو خاموش کنید.اگه آنتی ویروس دارید اون رو هم غیر فعال کنید.
    YES I AM Qt


    Code Less
    Create More
    Deploy Everywhere

  9. #9

    نقل قول: اتصال اندروید کلاینت به سرور درون کامپوتر

    درود بر شما
    برنامه شما بسیار بسیار خوب کار می کنه ممنون و سپاسگذار از شما MohammadHadi2031 به خاطر به اشتراک گذاشتن کدتون و ممنونم از rubiks.kde که این تاپبک رو معرفی کردند
    موردی که من تویه شبکه بهش بر حوردم اول متصل نمی شد علت این بود که من تویه شبکه Guest بودم و Isolate بود
    اگه این خطا رو داشتید به ستینگ مودم یه سری بزنید شاید شبکه بر اساس هر IP ایزوله باشه تویه advance wireless دنباله
    AP isolation بگرید و ببنید که off باشه
    پیروز باشید
    آخرین ویرایش به وسیله hesam_a110 : جمعه 04 بهمن 1392 در 02:46 صبح

  10. #10

    نقل قول: اتصال اندروید کلاینت به سرور درون کامپوتر

    نقل قول نوشته شده توسط MohammadHadi2031 مشاهده تاپیک
    با سلام

    با تشكر از كد شما ميشه راهنمايي بفرماييد اين كد ها در چه نرم افزارهايي بايستي كامپايل بشوند و با چ شرايطي؟

    قبلا از شما متشكرم
    آخرین ویرایش به وسیله Ardeshir_az : سه شنبه 18 شهریور 1393 در 14:55 عصر

  11. #11

    نقل قول: اتصال اندروید کلاینت به سرور درون کامپوتر

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

تاپیک های مشابه

  1. سوال: نحوه اتصال برنامه کلاینت به سرور در WCF
    نوشته شده توسط mahdi7s در بخش WCF , Web Services , .Net Remoting
    پاسخ: 3
    آخرین پست: سه شنبه 02 شهریور 1389, 00:02 صبح
  2. سوال: اتصال چند کلاینت به سرور
    نوشته شده توسط silverman_200 در بخش C#‎‎
    پاسخ: 3
    آخرین پست: یک شنبه 12 مهر 1388, 08:08 صبح
  3. اتصال کامپیوترهای کلاینت به سرور
    نوشته شده توسط mhmoein در بخش MySQL
    پاسخ: 10
    آخرین پست: جمعه 09 اسفند 1387, 10:23 صبح
  4. سوال: اتصال از کلاینت به سرور در حالت windows Authentication
    نوشته شده توسط gbg در بخش SQL Server
    پاسخ: 1
    آخرین پست: جمعه 02 اسفند 1387, 15:52 عصر
  5. اتصال کلاینت به سرور
    نوشته شده توسط seeker در بخش SQL Server
    پاسخ: 1
    آخرین پست: دوشنبه 16 بهمن 1385, 11:15 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •