J2ME技术提供了移动空间融入网络中的联网功能,因此使得手机等移动设备的卫星导航系统跟手机网络游戏的应用成为了现实。在MIDP中处理移动信息设备网络连接功能的最主要技术是javax.microedition.io中各个类和接口,以及java.io包中的(I/O)接口为数据流提供了系统输入和输出功能。
J2ME的网络通讯根据通讯协议的不同提供了不同的通讯接口,包括TCP协议、UDP协议以及HTTP协议等主要网络协议,都分别提供了相应的连接访问接口。另外,在此基础上,还提供了处理文件连接以及串口进行网络连接技术,如操作文件和实现蓝牙功能。以下对J2ME网络连接框架进行总结。
一、J2ME网络连接基本通讯类型
1、通讯数据报类型:数据报通讯在javax.microedition.io.DatagramConnection类中进行了定义,用于处理UDP通讯协议。
2、TCP通讯协议类型:TCP通讯由javax.microedition.io.StreamConnectionNotifier类进行了通讯处理。
3、基本串行输入输出类型:串行输入输出接口分别在 javax.microedition.io包中的InputConnection和OutputConnection中进行定义。
4、超文本传输协议HTTP类型:基于HTTP协议的通讯接口在javax.microedition.io.HttpConnection中定义。
二、J2ME网络通讯过程步骤
网络通讯连接的IO数据流过程基本步骤分别是建立连接、网络通讯、连接关闭。
1、建立连接,创建与服务端的连接初始化以及完成连接过程。
2、网络通讯,在连接已建立的基础上进行数据的交换以及完成通讯过程。
3、完成通讯之后即关闭网络通讯连接,释放资源。
三、J2ME中各通讯协议的连接方法
在J2ME中定义了javax.microedition.io.Connector类用于专门提供各种不同协议连接建立的静态方法,用于打开各种不同的连接,使用的方法是Connector.open()方法,返回的是Connection对象。
1、打开文件方法,建立文件连接进行IO通讯
Connection conn = Connector.open(file://myfile.dat);
2、调用串口通讯的建立方法
Connection conn = Connector.open("comm:0;baudrate=5333");
3、数据报套接字通讯建立
Connection conn = Connector.open("datagram://:3322");
4、TCP套接字通讯连接建立
Connection conn = Connector.open("socket://localhost:5568");
5、超文本传输协议HTTP连接建立
Connection conn = Connector.open(
四、简单举例HTTP通讯
....//声明代码
HttpConnection httpCon = null;
InputStream is = null;
OutputStream oStrm = null;
...//连接并封装数据流代码
conn = (HttpConnection) Connector.open(url);
iStrm = conn.openInputStream();
DataInputStream dis = new DataInputStream(iStrm);
...//读写数据流代码
int num = dis.readInt();
String str = dis.readUTF();
oStrm = conn.openOutputStream();
oStrm.write(data);
.../关闭连接代码
iStrm.close();
conn.close();