मैं सबसे अच्छा तरीका है पर सुझाव के लिए देख रहा हूँ से अधिक बाइनरी डेटा भेजा जा रहा है,/एक दूरस्थ जीपीआरएस डिवाइस से डेटा प्राप्त भेजने के लिए पोर्ट पर 80http
एक यादृच्छिक बंदरगाह ठीक काम करता है पर एक सादे TCP सॉकेट बनाना है, लेकिन कई वाहक केवल अपने प्रॉक्सी के माध्यम से पोर्ट 80 HTTP यातायात की अनुमति देते हैं, और फिर HTTP एएससीआई डेटा की अपेक्षा करते हैं (जिसके लिए वे हेडर को आवश्यकतानुसार संशोधित कर सकते हैं।
तो, क्या मेरा डिवाइस लगातार HTTP कनेक्शन पर POST अनुरोध बनाना चाहिए, और उसके बाद बेस 64 एन्कोडेड प्रतिक्रिया वेब सेवा से? मुझे यकीन नहीं है कि बाइनरी डेटा शामिल होने पर मोबाइल प्रॉक्सी कैसे व्यवहार करते हैं। क्या ऐसा करने का कोई अनुशंसित तरीका है?
मैं डिवाइस के फर्मवेयर और सर्वर साइड ऐप दोनों को अनुकूलित कर सकता हूं।
[संपादित करें]
मैं अगर वहाँ एक मानक (कम या ज्यादा) तरीका यह है पता करना चाहते हैं। विभिन्न डेटा लॉगिंग और औद्योगिक प्रणालियों के लिए, सॉकेट कनेक्शन पर बहुत सारे बाइनरी डेटा भेजने की आवश्यकता होती है। ईथरनेट कनेक्शन के लिए, आमतौर पर कुछ फ़ायरवॉल को अपनाने में शामिल समस्याएं होती हैं, लेकिन लगातार बाइनरी कनेक्शनों को मनमाने ढंग से बंदरगाहों पर स्थापित करने में कोई परेशानी नहीं होती है।
मोबाइल आईएसपी, हालांकि, केवल पोर्ट 80 के लिए अपनी "डेटा योजनाओं" को सीमित करते हैं। वे HTTP शीर्षकों के साथ गड़बड़ी की स्वतंत्रता भी लेते हैं, और संभावित रूप से HTML डेटा स्वयं भी। यह वह जगह है जहां मुझे संभावित नुकसान और उन्हें रोकने के तरीकों की पहचान करने की आवश्यकता है।
- बस बेस 64 एन्कोडेड डेटा काम भेज देगा?
- HTTP सत्र कैसे प्रबंधित किए जाते हैं? अनियंत्रित सॉकेट को लंबे समय तक जीवित रखा जा सकता है, लेकिन HTTP क्रियाएं आमतौर पर कम रहती हैं। क्या इसका मतलब है कि मुझे डेटा के प्रत्येक पैकेट के लिए एक नया कनेक्शन बनाना होगा? या एक कनेक्शन पर, सर्वर में सर्वर प्रतिक्रिया भेजने का कोई तरीका है?
- डेटा के साथ आईएसपी प्रॉक्सी गड़बड़ किस तरीके से हो सकता है, या हेडर? उदाहरण के लिए, एक प्रॉक्सी कभी-कभी कनेक्शन को जीवित रख सकता है, भले ही सर्वर इसे बंद कर देता हो।
+1 धन्यवाद। एक छोटा सा स्पष्टीकरण: * मोबाइल ऑपरेटर आमतौर पर उन सामग्री प्रकारों के जवाबों की उलझन को सीमित करते हैं जिन्हें वे समझते हैं * - क्या इसका मतलब है कि मुझे एक सामग्री प्रकार का उपयोग करना चाहिए जिसे वे ** नहीं समझते हैं? – Groo
मोबाइल ऑपरेटरों द्वारा किए गए परिवर्तन आम तौर पर मीडिया-प्रकारों के लिए होते हैं जहां उन्हें पता चलता है कि 'समकक्ष' प्रतिक्रिया वापस की जा सकती है। उदाहरण एक जेपीईजी छवि का संपीड़न या एक HTML फ़ाइल में सीएसएस/जावास्क्रिप्ट की इनलाइनिंग होगी। यदि आप मालिकाना प्रारूप में डेटा भेज रहे हैं तो आप मीडिया-प्रकार जैसे 'application/vnd.company-name' का उपयोग करेंगे।फ़ाइल-प्रकार' - मध्यस्थों द्वारा इसे बदलने की संभावना नहीं है क्योंकि वे प्रारूप को समझ नहीं पाते हैं। – johnstok
@johnstok सामग्री-लंबाई शीर्षलेख बाइट्स में किसी भी डेटा की लंबाई निर्दिष्ट करता है। तो, इस पर ध्यान दिए बिना कि डेटा मानकों के अनुरूप या स्वामित्व है, ऑपरेटर केवल उन बाइट्स को आगे बढ़ा सकते हैं। – ardsrk