我試圖使用UDP實現簡單的數據傳輸。我有一個校驗和問題,給定一個包含數據的數據包,我應該如何實現校驗和?還有任何想法如何實現超時,因此它會觸發重傳?由於UDP可靠的數據服務實現
回答
爲什麼不試試可靠UDP,見http://en.wikipedia.org/wiki/Reliable_User_Datagram_Protocol
它有一個標準。
我需要在UDP數據傳輸中檢查數據包的校驗和。我在UDP環境中工作,因爲這樣我的應用程序運行速度會更快。 – user1077036
好的,因爲R-UDP不是真正的標準規格。您可以添加校驗和。你關心下面的功能:收到的數據包的確認,窗口和流量控制,丟失數據包的重傳,Overbuffering? – Daniel
是的,我確實在意這些,但我已經可以處理了。我需要一個可以嵌入到我的系統中的校驗和算法。 – user1077036
here's one approach for the internet checksum
unsigned short checkSum() {
unsigned long sum = 0;
int i;
for(i=0; i < your packet length ; i++) {
sum += (your packet data[i] & 0xFFFF);
}
while (sum >> 16) {
sum = (sum & 0xFFFF) + (sum >> 16);
}
sum = ~sum;
return ((unsigned short) sum);
}
for the retransmission, you can set alarm to trigger timeout
when packet is loss. you can do something using
signal (SIGALRM, timeout function);
Hope it helps!
- 1. 可靠的UDP實現設計問題
- 2. 可靠的數據服務
- 3. Java可靠的UDP
- 4. 如何實現可靠的推送消息服務?
- 5. c中可靠的udp#
- 6. 可靠的UDP算法?
- 7. WCF數據服務或RIA服務可以用NHibernate實現嗎?
- 8. java - android UDP不可靠
- 9. 使用udp進行可靠的數據傳輸c
- 10. 實施可靠的Web服務最佳實踐?
- 11. 是否存在使用python asyncio綁定的C++的可靠UDP實現?
- 12. 異步TCP服務器/客戶端不可靠的數據包?
- 13. 爲SilverLight實現自己設計的WCF可靠服務的問題(basicHttpBinding)
- 14. 權衡實現可靠的異步消息訪問服務的版本控制?
- 15. 實現WCF數據服務OData操作
- 16. 從服務器訪問數據udp
- 17. UDP服務器沒有收到數據
- 18. 可靠的UDP的故障情況?
- 19. 遊戲服務器編程(可靠和不可靠的通信)
- 20. 使用c實現UDP服務器中的線程
- 21. 重新實現可靠的會話
- 22. 簡單可靠的UDP C++庫
- 23. UDP上的可靠傳輸協議
- 24. TFS Rest API:擴展數據服務不可靠?
- 25. 從android系統udp服務器接收udp數據?
- 26. 獲取可靠安裝的服務器實例列表
- 27. 使用不同的配置部署可靠服務實例
- 28. Web服務的高可靠性
- 29. 可靠的服務器到iPhone短信
- 30. Google-Cloud-Messaging服務的可靠性
到目前爲止你做了什麼?以及爲什麼你在這種情況下選擇TCP over TCP? – nebula