簡體   English   中英

Android 客戶端應用程序未連接到 PC 上的服務器

[英]Android client app not connecting to a server on pc

我有以下問題......我正在編寫一個系統,它由服務器端組成 - 在我的電腦上和我可愛的 ​​Xperia(又名 Android 手機)上的客戶端。 問題是,當我嘗試通過客戶端應用程序將手機綁定到電腦時,logcat 顯示:

  failed to connect to /*xxx.xxx.x.xxx (port 2002): connect failed: ETIMEDOUT (Connection timed out)

*這是我的IP地址,它以192開頭...

實際上,我在客戶端使用了 try - catch,在 try 中我設置了套接字,但問題是該進程失敗了,我猜,在 catch 塊中正確創建套接字時...我正在運行兩者我家 Wi-Fi 熱點上的設備。 正如我所說,我使用套接字,這可能意味着我的連接類型是 TCP (? :) )。 請為此提出某種解決方案,因為我在論壇(也在這里)繼續閱讀的內容越多,我就越感到困惑。

剪下我的代碼:

  public class ClientSide extends AsyncTask<String, Void, String>{

protected String doInBackground(String... params){

    final String SERVER_HOSTNAME = "xxx.xxx.x.xxx";
    final int SERVER_PORT = 2002;
    BufferedReader mSocketReader;
    PrintWriter mSocketWriter;
    final String TAG = ClientSide.class.getSimpleName();
    String data="";
    String outputln = "Me. Android";

    try {
        Socket socket = new Socket(SERVER_HOSTNAME, SERVER_PORT);
        mSocketReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        mSocketWriter = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
        System.out.println("Connected to server " + SERVER_HOSTNAME + ":" + SERVER_PORT);

        //Reads from the socket
        data = mSocketReader.readLine();

        //Writes to the socket, a.k.a. sends info
        mSocketWriter.println(outputln);
        mSocketWriter.flush();

    } catch (IOException ioe) {
        System.err.println("Cannot connect to " + SERVER_HOSTNAME + ":" + SERVER_PORT);
        ioe.printStackTrace();

    }

    return data;
}

在此先感謝您,如果您需要更多信息,我會盡力提供。 我是 Android 開發的極端初學者,抱歉我的英語。

*更新:服務器端應用程序是用 java 編寫的,也是 6-7 個類的構建,我沒有通過 Apache 或任何這些來運行所有這些。 我不想只是測試我的應用程序,我想要通過 wi-fi 進行真正的連接,而不是通過 USB。

試試這個:打開控制面板 -> Windows Defender 防火牆 -> 允許應用程序或功能通過 Windows Defender 防火牆(左側) -> 檢查 Apache HTTP 服務器和 mysqld 的私有和公共網絡👍👍👍

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM