程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> J2ME多人游戲注意事項(筆記類)

J2ME多人游戲注意事項(筆記類)

編輯:J2ME
一 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台設備一起通訊,響應時間短,非常適合於多人游戲(由於藍牙超各個方向傳輸,彼此之間不必正對)。




7. SMS短消息服務

SMS(Short Message Service)可以發送文本消息或者是二進制數據,是一種“存儲轉發”技術。通過一台短消息服務中心(SMSC)保存消息在隊列中,並稍後轉發。







8. MMS多媒體消息服務

是SMS的一種升級版本,允許把一段消息分成幾部分,包括文本,圖片,聲音以及視頻,也是一種“存儲轉發”技術。MMS實現綜合使用了SMS和HTTP。




二游戲服務器技術

HTTP和HTTPS

在服務器端,你可以使用任何一種通常用於HTTP服務器的技術,如:靜態網頁、CGI、ASP、Java servlet,以及JavaServer Page(JSP)。Java程序員通常的選擇是Java servlet。


三游戲類型及相關注意事項

多玩家單人游戲 & 回合制游戲:

這種游戲的特點是玩家輪流上陣,沒有用到網絡,也不會受網絡延世的限制。




循環賽游戲 & 同時行動游戲:

當使用MIDP 1.0,可以選擇HTTP,但HTTP有一個重大缺點,游戲服務器無法告知MIDP客戶端:現在輪到你了,所以客戶端必須測試,定時詢問游戲服務器:輪到我了麼,所以應該考慮提供一種能中斷等待並立即開始下一次查詢的方案。

MIDP 2.0,TCP可能是最佳選擇,輪到一個玩家時,服務器會立即通知他,這很重要,因此UDP就可能不太適合。另外,在循環賽中,TCP可能導致的額外延時並不成為問題。




“隨時玩”類型游戲:

如果游戲中涉及實時動作,HTTP的延時就會顯得過於嚴重。用MIDP 2.0時應該考慮UDP, TCP,或兩者結合。移動網絡的延時對快速的,實時的多人交互游戲來說影響太大了。




四多人游戲共通特性

永久性用戶帳戶

游戲大廳(Lobby)

高分表

玩家之間交談

顯示延時 ...

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved