java - 将 Android 模拟器连接到本地端口

标签 java android sockets android-emulator httpclient

对于这个简单的任务,我除了遇到问题之外什么都没有。我在 Eclipse 中构建了 Android 模拟器,运行模拟器,应用程序本身已构建并运行到一定程度。

在界面中,用户输入 IP 地址和要连接的端口,并写入要发送的简单消息。单击标记为“发送”的按钮以传递详细信息。

在主类中,我有一个按钮单击监听器,它提取三个字段并尝试使用它们建立与本示例 4444 的特定端口的连接。

我遇到的问题是,当我尝试创建套接字或 HTTP 连接时,我无法这样做。我已经阅读了 Java/Oracle/Droid 开发人员网站上的许多教程,但有些东西让我困惑,并且应用程序意外停止。

我要求您提供一个简单的示例或建议,用莱曼术语来说,通过套接字或 HTTP 建立链接,我并不担心发送消息,我只需要创建该连接并确认它是否有效。

我已经束手无策了,花了两天的时间尝试了多种方法。所以我恳请您的帮助!!

   private OnClickListener sendClickListener = new OnClickListener(){
    public void onClick(View arg0) {
    //EditText dstName = (EditText) findViewById(R.id.destinationAddress);
    //EditText dstPort = (EditText) findViewById(R.id.destinationPort);
    //address = dstName.toString();
    // port = Integer.parseInt(dstPort.toString()); PROBLEM         
        //InetAddress server;
        //try {
        //  server = Inet4Address.getByName("127.0.0.1");
        //  Socket clientsocket = new Socket(server, 4444);
        //} catch (IOException e) {
        //  // TODO Auto-generated catch block
        //  e.printStackTrace();
        //  finish();
        //} 
    }
    };

我已经发布了一些当前状态的代码,它显示了创建连接的尝试的累积。

亲切的问候

西蒙

最佳答案

尝试使用 10.0.2.2 而不是 127.0.0.1,因为 127.0.0.1 指的是模拟器本身,这可能不是您想要的,而 10.0.2.2 在模拟器中硬连线以指代模拟器的主机(您的 PC )。

看看 Emulator Networking Guide了解更多相关信息。

关于java - 将 Android 模拟器连接到本地端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5525875/

相关文章:

java - 在 Android Studio 中添加库依赖

Java 相当于 PHP 的 DIRECTORY_SEPARATOR?

java - 热衷于使用 Jersey 和 Netbeans 编辑 JSON 对象输出?

java - Spring PropertySourcesPlaceholderConfigurer : local properties vs environment ones?

android - NDK 错误....在执行 ndk-build 时

android - 如何在 uiautomator 中使用 getApplicationContext()?

javascript - Node.js 和 Socket.io : Self-signed certificates for a secure websocket connection

android - TextInput selectionColor 属性在 android 上没有改变颜色

java - 如何确定另一端是否关闭了 TCP 套接字? (如何读取ack信号)

c++ - Socket编程中的访问阻塞