Я пытаюсь реализовать простую передачу данных с использованием 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. UDP одноадресная более надежная, чем трансляция?
- 4. Реализация перфорации отверстий UDP
- 5. Специальная реализация службы данных WCF
- 6. Ориентация устройства HTML5 - надежная реализация компаса?
- 7. Надежная обработка данных
- 8. реализация ack над UDP?
- 9. Надежный UDP Реализация
- 10. Веб-службы на UDP
- 11. Надежная Multicast библиотека C++
- 12. python Надежная функция UDP и пакет «игнорировать» с выбором неблокирующего
- 13. надежная сохранность данных строкового массива
- 14. Высокопроизводительная и надежная база данных
- 15. реализация неблокирующего udp-сокета select()
- 16. Реализация UDP-вещания в C++
- 17. Надежная служба WCF
- 18. Какова самая надежная универсальная реализация ActiveRecord для JavaScript/SSJS?
- 19. Реализация службы async WCF
- 20. Надежная передача данных по отказоустойчивому каналу
- 21. UDP-трансляция адреса службы WCF
- 22. Реализация веб-службы SOAP
- 23. Реализация веб-службы RESTful
- 24. Реализация веб-службы Hessian
- 25. Надежная прошивка?
- 26. Есть ли надежная модель управления версиями данных
- 27. Простая, быстрая и надежная база данных (NoSQL)
- 28. Надежная передача данных по каналу с потерями
- 29. Простая реализация выбора с UDP в C++
- 30. HTTP over UDP-реализация в Java
Что вы сделали до сих пор? и почему вы выбрали UDP через TCP в этом контексте? – nebula