首页 > 解决方案 > 如何将两个安卓模拟器连接在一起?

问题描述

我正在尝试使用两个模拟器设置一个多人刽子手安卓应用程序。我试图让一个模拟器充当服务器,另一个模拟器充当客户端。我无法在一个模拟器上创建服务器并了解如何获取将推送到服务器的信息。我对android和网络编程很陌生。

我已经阅读了 android 文档,所以我知道模拟器联网是可能的。我只是无法按照给出的说明进行操作。https://developer.android.com/studio/run/emulator-networking

public class CreateServer extends AppCompatActivity {

    private Socket socket;
    private ServerSocket server;
    private DataInputStream streamIn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_create_server);
        new makeAServer().execute();

    }

    public class makeAServer extends AsyncTask<Void, Void, Void> {
        TextView content = findViewById(R.id.TextFromClient);



        @Override
        protected Void doInBackground(Void... voids) {
            try {
                server = new ServerSocket(5151);
                socket = server.accept();

                streamIn = new DataInputStream(new BufferedInputStream (socket.getInputStream()));
                while (true) {
                    String line = streamIn.readUTF();
                    content.setText(line);
                }
            } catch (IOException ioe) {
                Log.d("Message 10:", "IOException");
            }
            return null;
        }

        @Override
        protected void onPostExecute(Void aVoid) {
            super.onPostExecute(aVoid);
        }
    }


}

我试图改编一个制作服务器的教程,但我通过日志告诉我这段代码没有正确执行。

标签: javaandroidsocketsnetworking

解决方案


推荐阅读