数据仿真阶段
采集端每5秒发一个消息给树莓派系统,树莓派接收到消息后识别SensorSddress,然后写回一个xml数据
先写树莓派
构建服务器端并指定端口
server.accept() 当我们监控到一个端口,就会返回一个socket对象,然后我们可以对socket对象做操作
第一个监控到一个端口,就会返回一个socket对象,然后执行接下来代码,执行完后等到第一个端口连上来客户端后,当前所有执行完再进行第二个端口
socket包括网络读和写的流
监控到客户端连上来返回socket对象,构建线程,将socket对象传进去,有两种方法:1.通过方法2.通过构造器
class DefineThread extends Thread{
private Socket socket;
public DefineThread(Socket socket) {
this.socket = socket;
}
@Override
public void run(){}
}
每得到一个对象,开启一个线程去处理
采集端相当于客户端,它发消息,树莓派系统接收消息
得到InputStream字节输入流,所以我们要根据行去读取
注意bufferedReader和getInputStream字节流对接不上,bufferedReader需要Reader,中间需要一个转换流,功能流,将字节转换成字符
当标签等于Message就表示结束了
读到的内容用dom4j解析,一个xml文件整体交给dom4j才能解析
StringBuffer用来做字符串拼接
读完之后得到一个文档对象,然后去拿标签,先拿根标签
可以直接拿二级标签吗?
如何写回客户端?
构建网络输出流的字节流
还缺失温度和湿度,用随机值生成
创建随机对象
构建客户端
先构建socket对象
构建流
用来读树莓派系统写回来的数据
数据模拟完毕后写数据的采集
gather-->client-->server-->dbstore