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();