繁体   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