一 MIDP通訊技術
1. HTTP:
當網絡中的真實電話配置HTTP流MIDlet的時候,不要嘗試一次只發送一小段數據:在發完全部數據之前,不會收到什麼東西。
當從服務器發送HTTP響應要被延遲到某個事件發生,移動網絡中開發連接可能很昂貴,通常會因超時而被中端,這一情況比在互聯網上更容易發生。
移動電話通常沒有資源去支持多重開放的HTTP連接。在數據結構和數據緩存方面的開銷非常大。
HTTP 方法
GET:用於向服務器請求一個靜態資源,重復一個GET請求將得到相同的資源響應。GET請求僅提供資源的URL,不包括任何消息體。
POST:用於向服務器請求一個動態資源(如游戲中的一個回合),重復一個POST請求將得到不同的資源響應。POST響應也包括一個帶服務響應數據的消息體,是MIDlet的常用方法。
來自某個服務器的HTTP響應可能包含成功(2xx)、重定向(3xx)或錯誤(4xx, 5xx)之類的狀態碼。這些代碼需要由HTTP客戶端處理。
HTTP消息體
發送的信息只是一串字節流,可以對這些字節信息進行編碼,包括:
文本;圖像文件(至少支持對PNG解碼);XML;其它用戶定制數據結構。
HTTP會話
服務器把MIDlet發起的一系列連續請求作為一個HTTP會話來跟蹤,由於HTTP本身是無狀態的,所以必須在HTTP協議層之上實施會話管理。
方法一:各種會話cookie。
方法二:URL重寫。
由於cookie還有其它用途,所以處理會話cookie的完整MIDlet實現起來比較復雜,重新URL則簡單許多。
HTTP服務器
有包括java servlet, jsp, asp, asp.net, cgi script在內的多種選擇。
2. TCP:
互聯網上的http通常以TCP實現,TCP連接的端點是一個套接字socket。MIDP 1.0 不包括對TCP的支持,MIDP 2.0 規定了對TCP的支持,制造商可以自己選擇是否包含這種支持。
3. UDP:
使用UDP時,兩台正在通訊的設備間所發送的數據報(datagram)往往也被稱為數據包(data packet), MIDP 1.0 不包括對UDP的支持,MIDP 2.0 規定了對UDP的支持,制造商可以自己選擇是否包含這種支持。在諸如GPRS這樣的分組交換協議上實現時,考慮到移動網絡的響應時間,包的發送量一般並不需要超過每秒一個,並注意包的大小。
4. 串行電纜
MIDP 2.0中通過接口SerialPortConnection實現支持。
5. 紅外
MIDP 2.0中通過接口SerialPortConnection實現支持。
6. 藍牙(MIDP可選包通訊技術)
一種短程無線技術,支持約10米范圍最多8台設備一起通訊,響應時間短,非常適合於多人游戲(由於藍牙超各個方向傳輸,彼此之間不必正對)。