0

我开发了一个 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 ......谢谢!

4

1 回答 1

0

我设法通过在 Android 控制台中使用重定向来解决这个问题。

于 2013-04-25T07:09:34.957 回答