【问题标题】:Client-Server between Android and PC over WIFIAndroid和PC之间通过WIFI的客户端-服务器
【发布时间】:2013-10-03 02:46:44
【问题描述】:

我正在测试 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应该是什么?

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

【问题讨论】:

  • 您解决了吗?任何一个答案都是正确的吗?如果是,请标记它们。我有兴趣做同样的事情

标签: java android client-server serversocket


【解决方案1】:

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

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

<uses-permission android:name="android.permission.INTERNET" />

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多