Android和PC之间的客户端 - 服务器通过WIFI

时间:2013-10-03 02:46:45

标签: java android client-server serversocket

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

我有一个Lan连接,我通过笔记本电脑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();
            }

服务器成功启动。 Server

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

客户端(android)代码:

        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?

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

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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

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