首页 > 怎么在服务端(TV)写一串代码 可以扫面到连接在同一WiFi中的手机客户端

怎么在服务端(TV)写一串代码 可以扫面到连接在同一WiFi中的手机客户端

new Thread(){

        public void run(){
            
            try {    

                service=new DatagramSocket(PORT);                    
                mExecutorService = Executors.newCachedThreadPool(); //创建线程池
                                                    
                    //加一个扫描来连接客户端
                                    
                    while(true){                                            
                        mExecutorService.execute(new Service());                                                                                
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
        }
    }.start();

需要在那边加一个扫描同一WiFi中的手机客户端 这个代码该怎么写啊 请大神指点我一下 告诉我个具体思路 或者给我点大致的框架代码 也可以 谢谢了 我是个很白的小白 第一次做项目 很多都搞不懂 请有经验的帮我下 谢谢了!!


这个估计就是飞鸽传书的原理。例如同局域网(192.168.1.x)连10台手机,同时打开APP,每个APP打开Socket监听某端口(例如10001),你的手机向局域网每个ip发出Socket请求,如果某个ip能连上,证明客户端打开并监听该端口。

接收方:

ServerSocket server = new ServerSocket(10001);
Socket socket = server.accept();

发送方(你手机)

Socket socket = new Socket("192.168.1.xxx", 10001);

只要new Socket(...)能执行下去,不抛Exception,证明192.168.1.xxx有客户端打开并监听这个端口。

特殊情况,如果其他APP同时监听那个端口,socket也可能请求成功,不过概率很少啦,有上万个端口。如果程序非常严格,那就Socket连上后,发一个信息,要接收方回复信息,才判断是本APP监听该端口。

【热门文章】
【热门文章】