使用相同的wifi连接Android服务器和笔记本电脑客户端

时间:2015-02-26 16:37:51

标签: java android networking network-programming

我想将android服务器应用程序与连接在同一wifi网络上的笔记本电脑客户端java连接。

我尝试以下代码。

笔记本电脑客户端代码

 String IPToConnect="192.168.0.";
    int i=0;

    Socket skt;
    PrintWriter pw;
    try
    {
        for(i=105;i<=199;i++)
        {
            try
            {
                System.out.println(i);
                skt=new Socket(IPToConnect+i,4444);
                pw=new PrintWriter(skt.getOutputStream(),true);
                pw.write("KP");
                pw.flush();
                pw.close();
                skt.close();    
            }
            catch(Exception ex)
            {
               continue;
            }

        }
    }
    catch(Exception ex)
    {
        ex.printStackTrace();
    }

和android服务器代码

private static ServerSocket serverSocket;
private static Socket client;
private static InputStreamReader inputStreamReader;
private static BufferedReader br;
private static String message;
serverSocket = new ServerSocket(4444)

 try
        {
            client = serverSocket.accept();
            inputStreamReader = new InputStreamReader(client.getInputStream());
            br = new BufferedReader(inputStreamReader);
            message = br.readLine();

            System.out.println(""+message);
            inputStreamReader.close();
            client.close();
        }
        catch(Exception ex)
        {
            System.out.println("HELLO ERROR");
        }

上面的代码对我来说很好

我希望程序像这样工作

  1. 通过相同的wifi网络连接的Android移动应用和笔记本电脑
  2. 当Android应用程序启动时,当笔记本电脑启动该客户端应用程序时,它会显示笔记本电脑列表
  3. 上面的代码工作正常,但是当不同的路由器使用不同的IP地址意味着不能以(192.168.0)开头并且它向所有设备发送请求意味着耗时时它可能不起作用

    所以请帮我解决问题,总之我想在笔记本电脑启动它的客户端应用程序时在Android应用程序上列出笔记本电脑

    谢谢

0 个答案:

没有答案