将Android应用程序连接到PC服务器的问题

时间:2013-04-11 17:01:37

标签: sockets android-emulator

我正在尝试使用Socket将我的Android应用连接到PC服务器。不幸的是,PC服务器没有收到来自应用程序的任何连接请求(它们之间没有连接)。我在Android模拟器中运行该应用程序。

我在互联网上看过很多关于这个问题的教程和讨论,我从字面上看,但仍然遇到了我上面提到的同样的问题。

注意:Android应用程序在Eclipse模拟器和Netbeans上的PC服务器上运行

PC服务器源代码:

public class server {

    ServerSocket server;

    public server() {
        try {
            server = new ServerSocket(8000); // create server socket
            Socket socket = server.accept(); // accept new connection request
            System.out.println("The connection is active");
        } catch (IOException e) {
            System.err.println("error.... 1\n");
        }
    }

    public static void main(String[] args) {
        new server();
    }
}

Android应用程序源代码(客户端):

public class Client extends Activity {

    Button con;
    Socket socket;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        con = (Button) findViewById(R.id.myButton);
        con.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                try {
                    socket = new Socket("My_PC_IPAddress", 8000);
                }
                catch (Exception e1) {
                    e1.printStackTrace();
                }
            }
        });

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

注意:此权限已添加到manifest.xml

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

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

1)确保正确写入PC的IP。

2)尝试关闭PC的防火墙。