2012-04-26 46 views
0

我有多個客戶端連接到TCP服務器的情況。當任何客戶端向服務器發送一個數據包時,服務器應該有一個重傳計時器,並且繼續將該數據包發送到另一個服務器,直到它收到回覆。我該如何設置這個重傳機制?我在C上的Linux上執行此操作。數據包重傳

+1

這是否意味着你有多個客戶端,比如C1,C2和C3和服務器S1,其發送數據包到S2?如果是,那麼你是要求在S1-S2還是C1到S1之間進行重傳?如果您要求客戶端使用S1,那麼通過TCP或甚至S1-S2通信來處理,如果您使用的是TCP連接,則需要照顧。 – 2012-04-26 01:49:48

回答

0

我猜這是一項任務。我有類似的地方,我們的頻道被有意破壞。

我建議你按照類似的東西。

  1. 發送數據包。
  2. 啓動一個計時器。
  3. 如果一個ACK(確認)並不一定量的時間內接收到,然後回到步驟1
3

如果您使用TCP套接字,則重傳將自動發生。無可否認,如果你想要更多的控制,你需要使用UDP並自己處理重發。

0

IIRC,包含這些TCP配置參數的文件的位置是依賴於發行版的。它們位於Red Hat和Ubuntu上的不同文件夾中。