面向物联感知终端的Java网络编程 (一)
2015-06-23 11:48
495 查看
物联感知终端的数据包会通过有线或无线的方式发送到互联网上,这些数据包在流入互联网后,大部分使用TCP或UDP进行传输层的传输,传输至目的服务器(也通常是接入网关系统的所在地)后,经过协议包的解析便将这数据包中的各项测量数据切分出来,存于系统中事先定义好的数据结构中(通常是一些实体类),对于其中实时性要求比较高的测量数据(例如,需要实时报警的应用)可以直接由网关系统推送至业务系统,当然也可以作为历史数据存于数据库或文件等处,进行数据的持久化。
对于使用java语言实现的网关系统来说,socket自然是大家首先就会想到的工具。一个用于TCP的ServerSocket和Socket,一个是用于UDP的DatagramSocket。借由java简洁方便的网络编程语法,我们在这些类提供的相应的方法中传入设备(终端)的IP和端口等参数,便可轻松地接到这些协议数据包,然后将整个包进行切分,也就得到了测量数据。
咋一看来,问题好像已经解决。但稍作进一步思考就会发现,这其中存在着诸多的问题:
1. 在实际应用中,物联感知终端数量往往十分庞大,一个网关服务器是否能够接得住大量终端同时(或几乎同时)发送来的数据?
2. 终端发送过来的数据,是二进制的字节流,还是字符流?
3.
对于使用java语言实现的网关系统来说,socket自然是大家首先就会想到的工具。一个用于TCP的ServerSocket和Socket,一个是用于UDP的DatagramSocket。借由java简洁方便的网络编程语法,我们在这些类提供的相应的方法中传入设备(终端)的IP和端口等参数,便可轻松地接到这些协议数据包,然后将整个包进行切分,也就得到了测量数据。
咋一看来,问题好像已经解决。但稍作进一步思考就会发现,这其中存在着诸多的问题:
1. 在实际应用中,物联感知终端数量往往十分庞大,一个网关服务器是否能够接得住大量终端同时(或几乎同时)发送来的数据?
2. 终端发送过来的数据,是二进制的字节流,还是字符流?
3.
相关文章推荐
- 氪周刊:关注互联网创业
- 据说程序员才会看懂的趣图……
- 数据中心和云未来的十二大趋势
- 《互联网运营智慧》十一月进展
- 互联网业内的迷雾 谨慎选择虚拟主机
- 互联网应用广泛 电子商务正当时
- 风雨历练十四年 互联网引领信息化
- 观察:中小网站将渐渐成为互联网的主角
- 互联网迅猛崛起 IDC能否迎来发展高峰期
- Lua下基本的网络编程示例
- linux网络编程用到的网络函数详解用和使用示例
- C#网络编程基础之进程和线程详解
- Linux网络编程之UDP Socket程序示例
- Android网络编程之UDP通信模型实例
- 谈谈新手如何学习PHP网络编程第1/2页
- Python 网络编程起步(Socket发送消息)
- c# socket网络编程接收发送数据示例代码
- NodeJS学习笔记之网络编程