STM32的ESP8266 移动端App实现方法(Android)

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/kilotwo/article/details/79200948

在Android中我们使用Socket类,即“套接字”就可以进行wifi通信。由于其相关说明对程序开发没有多大帮助,故不再赘述,无论什么通信,我们只需要知道最基本的开、关、读、写四大操作就可以完成大部分功能,再使用其进行通讯需要目标的IP地址及端口号即可,假设说按一个按键来控制发送一个指令的话,直接来看代码:

    Button.setOnClickListener(new OnClickListener(){  
        @Override  
        public void onClick(View v){  
            //在子进程中完成数据的获取,在主进程中完成UI更新  
            new Thread(new Runnable(){//开启一个线程  
                    @Override  
                    public void run(){  
                        try{  
                            Socket TestSocket = new Socket();//new一个socket  
                            TestSocket.connect(new InetSocketAddress("192.168.4.1", 8080), 8000);//三个参数分别是IP、端口、超时  
                        OutputStream TestOS = TestSocket.getOutputStream();//输出流,即写操作
                            InputStream TestIS = TestSocket.getInputStream();//输入流,即读操作
                            byte send_buffer[] = {40};//输出字符数组  
                        byte rec_buffer[] = new char[10];//输入字符数组  
                            TestOS.write(buffer);//这样字符组就发送出去了
                        /*  
                           String str="Sopen_led1E";
                            byte[] strbyte = str.getBytes();
                            TestOS.write(strbyte);//这样字符就发送了
                            //也可以这样定一个S的开头和E的结尾做简单协议判断,接收端就可以获取相应的数据了
                          */  
                            for(int i = 0; i < 10; i++){  
                                rec_buffer[i] = TestIS.read();//read()方法是一个字符一个字符接收  
                            }  
                            //关闭所有流及socket  
                            TestOS.close();  
                            TestIS.close();  
                            TestSocket.close();  
                        //接下去可对收到的数据进行操作  
                        }  
                        catch(Exception e){  
                            //可以打印错误日志啥的  
                        }  
                    }  
                }).start();  
            }  
    });  

小结

通信过程就是建立一个Socket,调用connect()方法(开),通过输入输出流(读写)传递数据,最后关闭流和Socket(关)即可。

展开阅读全文

没有更多推荐了,返回首页