繁体   English   中英

Android模拟器(客户端)到手机(服务器)套接字连接

[英]Android emulator(client) to phone(server) socket connection

我目前正在尝试通过TCP / IP套接字连接连接模拟器(客户端)和电话(服务器)。 但不知怎的,它永远不会起作用,但如果我尝试将模拟器(作为客户端/服务器)与内部java程序(作为客户端/服务器)连接,它也可以正常工作,套接字连接也可以正常工作,从手机到不在模拟器上的应用程序。 我认为这与端口转发有关,所以我尝试过:

源自如何将本地主机IP地址转发到Android模拟器

telnet localhost 5554

redir add tcp:1337:12345

但是当我用端口号1337和服务器端12345测试我的客户端时,它仍然不起作用,服务器代码没有.accept()客户端的请求。

以下是我的客户端(模拟器)和服务器(电话)代码,用于接受和设置io流

客户:

SERVER_IP是本地IP地址

connection = new Socket(SERVER_IP, PORT);

private void setUpStreams() throws IOException {
            output = new ObjectOutputStream(connection.getOutputStream());
            output.flush();
            input = new ObjectInputStream(connection.getInputStream());
        }

服务器:

这是为了接受用户私有的void acceptingUser(){

        try {
            ss = new ServerSocket(PORT, 10);
            connection = ss.accept();
            connected = true;
            osm.updateInChatStatus(1);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            Log.i("serv", "Wasn't able to connect with any clients!: " + e);
        }
    }

和设置流非常类似于客户端。 提前感谢您的建议和解决方案。

要访问网络连接,您需要在AndroidManifest.xml中设置权限

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.bosch.adx.esidroid">
    <uses-permission android:name="android.permission.INTERNET" />
<application
--

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM