簡體   English   中英

在Java客戶端-服務器應用程序中管理響應消息

[英]Manage the response message in a Java client-server application

我正在研究Java客戶端-服務器應用程序。

客戶端發送一條消息序列(消息可以是不同的類型,有報頭),然后偵聽答復。 我有2個線程,一個用於傳輸,一個用於收據。 因此,如果發生錯誤或未收到答復,我需要處理答復,例如,我可以嘗試再次發送消息。

我的問題是..是否有任何可以幫助我的Java模式?

我想像單個事務一樣處理發送和相對副本,但請注意,我不需要進行同步通信。 我將所有消息按順序發送到TX線程中,然后等待RX線程上的答復。

我已經考慮過調解人模式,但是我不知道這是否是正確的方法。

謝謝

如果問題純粹是關於傳輸協議的,那么我來看看NAK。 http://en.wikipedia.org/wiki/NAK_(protocol_message)

我已經實現了我制定的名為JCast的協議,該協議通過多播發送文件。 這些文件被分解成一些小片段,並編號。 然后,接收方客戶端以其沒有得到的任何丟失的片段(這些是NAK)進行響應。 然后,服務器將僅重新發送NAK的片段。

編輯:NAK優於ACK的好處是服務器可以發送它需要的所有數據包,而不必等待ACK。 由於當今網絡已經大大改善,因此大多數數據包都會到達。 少數沒有到來的人只會被重新發送。

暫無
暫無

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

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