簡體   English   中英

本地主機上的Java tcp客戶端連接到模擬器上的android服務器

[英]Java tcp client on localhost connecting to android server on emulator

我開發了一個Android服務器,並嘗試使用模擬器對其進行測試:

這是Android服務器代碼:

 public class MainActivity extends Activity {

private static String TAG = "ServerSocketTest";
private ServerSocket server;

Runnable conn = new Runnable() {
    public void run() {
        try {
            server = new ServerSocket(53000);

            while (true) {
                Log.d(TAG, "server waiting for connection");
                Socket socket = server.accept();
                BufferedReader in = new BufferedReader(
                        new InputStreamReader(socket.getInputStream()));

                String str = in.readLine();

                Log.i("received response from server", str);

                in.close();
                socket.close();
            }
        } catch (IOException e) {
            Log.e(TAG, e.getMessage());
        } catch (Exception e) {             
            Log.e(TAG, e.getMessage());
        }
    }
};

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    new Thread(conn).start();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

@Override
protected void onPause() {      
    super.onPause();
    if (server != null) {
        try {
            server.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}   

 }

現在的問題是如何讓我的TCP客戶端連接到模擬器上的該服務器?

客戶端中有此行。 此客戶端是在桌面上運行的Java:

clientSocket = new Socket("localhost", 53000);

但是我得到IOException ...謝謝!

我設法通過在Android控制台中使用重定向來解決此問題。

暫無
暫無

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

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