我试图使用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