मैं अपने सर्वर से कृत्रिम रूप से अपने क्लाइंट को एक करीबी पैकेट भेजने की कोशिश कर रहा हूं, मुझे कितना कच्चा मूल्य भेजना चाहिए ताकि ग्राहक समझ सके कि मैं कनेक्शन बंद कर रहा हूं? क्या यह वेबसाइकिल प्रोटोकॉल के बीच भिन्न है?वेबसाकेट बंद पैकेट
उत्तर
सबसे सरल स्तर पर - बस कनेक्शन कनेक्शन बंद करें - यह ठीक काम करेगा।
बहुत शुरुआती हिक्सी -76 में सिग्नलिंग बंद करने के लिए एक सरल अनुक्रम है: केवल दो बाइट 0xFF, 0x00 भेजें (पहला फ्रेम प्रकार है, दूसरा लंबाई है)।
बाद के सभी विनिर्देशों में, फ्रेम थोड़ा अधिक जटिल होते हैं; वे के रूप में टूट रहे हैं:
- (1 बाइट) झंडे और opcode
- (बाइट्स की चर संख्या) मुखौटा झंडा और पेलोड लंबाई
- (वैकल्पिक, 4 बाइट्स) मुखौटा
- ({लंबाई} बाइट्स) पेलोड
पहले भाग के लिए, opcode हम चाहते हैं 0x08 है, और यह (यह सिर्फ इंगित करता है कि फ्रेम कई संदेश पर विभाजित नहीं है "पंख" झंडा, 0x80 के साथ संयुक्त किया जाना चाहिए) - तो 0x88।
दूसरे भाग के लिए, हम शून्य-लंबाई संदेश का उपयोग कर सकते हैं, लेकिन हमें यह जानने की आवश्यकता है कि हम क्लाइंट-टू-सर्वर (हमेशा मास्क किए गए हैं, इसलिए हमें 0x80 का उपयोग करने की आवश्यकता है) या सर्वर-टू-क्लाइंट (कभी नहीं मुखौटा, तो हमें 0x00 का उपयोग करने की आवश्यकता है)।
तीसरा हिस्सा केवल शामिल है यदि मुखौटा ध्वज सेट किया गया है, तो क्लाइंट-टू-सर्वर; चूंकि हम एक पेलोड नहीं भेज रहे हैं, वहां क्रिप्टोग्राफ़िक रूप से सुरक्षित मास्क का आविष्कार करने का कोई मतलब नहीं है - हम केवल 0x00 0x00 0x00 0x00 का उपयोग कर सकते हैं।
चौथा छोड़ दिया गया है क्योंकि हम शून्य लंबाई बता रहे हैं।
तो: ग्राहक से सर्वर: 0x88 0x80 0x00 0x00 0x00 0x00
और सर्वर से ग्राहक: 0x88 0x00
को कैसे समझते हैं, मेरे पास कच्चे प्रोटोकॉल परत तक पहुंच है, मैं वर्तमान में 'process.context.Send (नया बाइट [4] {80,01,00,00}, सच, सत्य); 'और ऐसा लगता है कि मुझे' वेबशॉट कनेक्शन 'ws: // localhost: 8000 /' विफल हुआ है: संपीड़ित बिट आवश्यक है 0 अगर कोई वार्तालाप डिफ्लेट-फ्रेम एक्सटेंशन 'त्रुटि नहीं है। – user2498443
@user मैं इसके साथ सहमत हूं; आपको मूल्य 80 कहां से मिला? वह आरएसवी 1 और आरएसवी 3 सेट, ओपोड शून्य है। आपको फिन बिट सेट के साथ ओपोड 8 भेजने की आवश्यकता है - दशमलव 136? (मेरे सिर में हो गया - मैंने उस मान की जांच नहीं की है) –
मुझे खेद है कि प्रोटोकॉल के बीच यह अलग है? मैं कनेक्शन तक नहीं पहुंचता, मैं सी # में कीमिया का उपयोग करता हूं और बेवकूफ रूप से उनके पास कनेक्शन समाप्त करने की कोई विधि नहीं है। सभी मदद आदमी के लिए धन्यवाद! :) – user2498443
- 1. वेबसाकेट टीसीपी पैकेट एक साथ चिपकते हैं?
- 2. वेबसाकेट
- 3. वेबसाकेट
- 4. वेबसाकेट 1000 संदेशों के बाद बंद हो जाता है
- 5. वेबसाकेट क्लाइंट?
- 6. फ़ायरफ़ॉक्स वेबसाकेट
- 7. मतदान, धूमकेतु, वेबसाकेट, आदि
- 8. हेरोकू पर वेबसाकेट ERR_CONNECTION_REFUSED
- 9. वेबसाकेट यातायात एन्कोडिंग (जीजेआईपी)
- 10. पायथन ट्विस्टेड वेबसाकेट क्लाइंट
- 11. एंगुलरजेएस और वेबसाकेट
- 12. यूडीपी पैकेट आकार और पैकेट नुकसान
- 13. Wireshark पैकेट
- 14. पैकेट निस्पंदन
- 15. qLaunchSuccess पैकेट
- 16. पैकेट लंबाई
- 17. HTTP पैकेट पुनर्निर्माण
- 18. .NET 4.5 वेबसाकेट बनाम सिग्नलआर
- 19. ट्विटर + एचटीएमएल 5 वेबसाकेट एपीआई
- 20. उल्का, वेबसाकेट, Nginx 502 त्रुटि
- 21. जावा स्प्रिंग टॉमकैट में आप एक गैर-प्रतिक्रियाशील वेबसाकेट को जल्दी से कैसे बंद करते हैं?
- 22. कनेक्शन स्थापित होने से पहले "वेबसाकेट बंद है" मतलब क्या है?
- 23. पायथन/डीपीकेटी: पता लगाएं कि पैकेट एक टीसीपी पैकेट या udp पैकेट है,
- 24. कुशल डिकोडिंग (पैकेट)
- 25. पैकेट मिलान व्यवहार
- 26. टीसीपी आरएसटी पैकेट विवरण
- 27. जावा आधे यूडीपी पैकेट
- 28. पैकेट भेजने/एके
- 29. libpcap आईपी पैकेट Reassembly
- 30. पैकेट आकार सीमा?
अपने ग्राहक =? – dtb
क्या यह वही प्रश्न है जैसे http://stackoverflow.com/questions/17175016/alchemy-forcefully-disconnect-client – Amy
http://msdn.microsoft.com/en-us/library/system.net.websockets.websocket .closeasync.aspx उचित लगता है। कृपया दिखाएं कि आपने क्या प्रयास किया और आपके लिए क्या काम नहीं किया। –