मैं इस तरह एक बाइट सरणी:यूडीपी के लिए सी ++ में सरणी कैसे विभाजित और जुड़ें?
lzo_bytep out; // my byte array
size_t uncompressedImageSize = 921600;
out = (lzo_bytep) malloc((uncompressedImageSize +
uncompressedImageSize/16 + 64 + 3));
wrkmem = (lzo_voidp) malloc(LZO1X_1_MEM_COMPRESS);
// Now the byte array has 802270 bytes
r = lzo1x_1_compress(imageData, uncompressedImageSize,
out, &out_len, wrkmem);
मैं कैसे 65,535 बाइट्स से कम छोटे भागों में विभाजित कर सकते हैं यह (बाइट सरणी एक बड़ी छवि जो मैं करना चाहता हूँ यूडीपी जो ऊपरी सीमा 65,535 बाइट्स है पर भेज दिया) और फिर उन छोटे हिस्सों को एक निरंतर सरणी में वापस शामिल करें?
लेकिन फिर भी, मैं इसे यूडीपी के साथ करना चाहता हूं। मैं केवल एक बार पूरी छवि भेजता हूं, फिर मैं केवल पिक्सेल भेजता हूं जो बदल गए हैं, इसलिए निम्नलिखित पैकेट छोटे होंगे और एक यूडीपी पैकेट में फिट होंगे। मुझे यूडीपी की आवश्यकता है क्योंकि यह टीसीपी से तेज है और मुझे गति की जरूरत है। –
@ रिचर्ड: आप ऐसे कनेक्शन को लागू करने में सक्षम नहीं होंगे जो यह सही ढंग से करता है जो टीसीपी की तुलना में किसी भी तेजी से संचालित करता है। शुरुआती बड़े हिस्से को भेजने के लिए एक टीसीपी कनेक्शन खोलें, और उसके बाद अपडेट के लिए यूडीपी का उपयोग करें, (यह मानते हुए कि यदि कोई भी अपडेट खो गया है या नष्ट हो गया है, तो आप इससे पुनर्प्राप्त कर सकते हैं; यूडीपी पैकेट खो या नष्ट हो सकते हैं)। यह गेम सर्वर है जो इस तरह की कम विलंबता की आवश्यकता है - यानी ध्वनि फाइलें और ऐसे में टीसीपी पर स्थानांतरित किया जाता है, लेकिन प्लेयर की स्थिति और ऐसे यूडीपी (यानी काउंटरस्ट्रिक सर्वर) पर प्रसारित होते हैं। –
सिद्धांत में सच है। अभ्यास में कम। –