1

我正在测试 Android 和我的笔记本电脑之间的通信。

我有一个局域网连接,我通过笔记本电脑 WiFi 共享互联网

现在我用代码在笔记本电脑上创建了一个服务器

            public void run()
    {
        try {                       
            server_soc = new ServerSocket(1234);


            display.append("Server Started on port : " + server_soc);
            display.append("\nWaiting for client to connect ");

            while(true){
                cli=server_soc.accept();

                display.append("\nClient connected ");

                Accept_Client accept_client=new Accept_Client(cli);
                accept_client.start();
            }

服务器启动成功。 服务器

我必须将一个 android 客户端(android 4.0.4)连接到这个服务器。我无法连接到此服务器。用于连接此服务器的 IP 应该是什么?

客户端(安卓)代码:

        Connect.setOnClickListener(new OnClickListener() {      
    @Override
    public void onClick(View arg0) {

        try {

            Server = new Socket("10.0.2.2",1234);
            Server_Msg.setText("connected to Server ");         


        } catch (Exception e) {

            e.printStackTrace();
        } 
    }
});

我尝试了所有IP:192.168.137.1, 123.238.143.130 IP应该是什么?

我什至在我的无线路由器中设置了端口转发。我需要在防火墙中做任何事情吗?请建议!

4

2 回答 2

0

要从模拟器连接到 上的 WiFi 服务器localhost,请使用IP 10.0.2.2 要从 Android 设备连接到您在自己的网络上运行的服务器,请使用 Wifi 服务器的 IP。

确保在 Android Manifest 文件中设置了 Internet 权限: 作为节点的子节点,插入:

<uses-permission android:name="android.permission.INTERNET" />
于 2013-10-16T14:52:56.440 回答
0

如果服务器-客户端系统使用真正的 android 设备,您只需确保您正在侦听的端口已添加到防火墙中。

服务器将侦听该端口,并且来自任何 IP 的该端口上的所有连接都将被连接。

于 2013-10-16T17:13:18.187 回答