0

我來到了有趣的理論問題:無限循環的確認

假設我們有通過某種IPC連接如TCP套接字或命名管道方案A和方案B。程序A向程序B發送一些數據,並且根據數據傳送的成功,A和B都執行一些操作。但是,只有在A確認了交貨確認的情況下,B才能進行操作。因此,我們想出最多可連接3: A - > B [數據轉院] 乙 - >【發貨確認] 甲 - >乙

它可能看起來很奇怪,但[獲得發貨確認的確認]的目標是除非A和B雙方都知道數據已被傳輸,否則不要進行任何操作。

這是因爲第二個連接是確認第一個成功的問題。第三個是確認第二個,但實際上不能保證連接2和3不會失效,在這種情況下我們會陷入無限循環的確認。有沒有解決這個問題的CS理論?

+0

很簡單:如果A在某個時間段內沒有得到確認,那麼您認爲數據丟失了,然後重新發送。沒有循環,因爲A將終止原始傳輸序列並開始一個新的循環。然後在某個時候,你終止重傳,假設B無法到達,你只能爬回牀上嗚咽。 –

+0

CS理論是TIMEOUT。 –

+0

像非接觸式電子支付卡... –

回答

1

如果我正確地閱讀您的問題,則問題被稱爲「the two general's problem」。問題的要點是發送消息或確認的最後一個實體對它剛剛發送的內容的狀態一無所知,等等。

+0

是的,那適合,謝謝你:) – user1121956