簡體   English   中英

基於Java優先級的udp協議

[英]Java priority based udp protocol

我嘗試開發簡單的mmorpg,由於要發送的數據有2個優先級,一個是必須從服務器發送的基於TCP的信息,另一個是基於UDP的,因為字符移動有一種方法可以將UDP協議設置為能否根據包優先級作為TCP工作?因此,無需打開從服務器到客戶端的2個連接。

您似乎在問是否可以用僅使用UDP實現的消息替換消息的TCP字節流和UDP“流”。

答案是:“是的,但是在實踐中,這將是很多工作,執行不佳並且幾乎沒有實現”。

TCP是一種可靠的字節流協議,它通過跟蹤已發送的內容和已確認的內容在不可靠的IP數據包層之上實現。 如果特定的數據包被網絡丟失/丟棄,則發送方或接收方會發出通知,丟失的數據將被重新傳輸。 TCP還實現流控制,以使協議不會使網絡過載。

相反,UDP不提供可靠性或流控制。

在包括UDP / IP在內的任何不可靠的數據包層上實現類似於TCP的可靠性和流量控制。 但是,要在Java中做到這一點,您需要在客戶端和服務器端的“用戶空間”應用程序庫中實現類似TCP的協議。 這是很多工作,並且性能不可避免地會劣於OS內核中的實際TCP / IP實現。

此外,在消除TCP / IP套接字的同時,您將它們替換為等效的數據結構並在Java應用程序本身中進行緩沖。 實際上,這不太可能節省服務器或客戶端的資源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM