2014-10-22 5 views
16

प्रोटोकॉल कैसे काम करता है (मैं इसके लिए सोशल का उपयोग कर रहा हूं) सीखने के लिए, reference websocket echo server "मैन्युअल रूप से" से कनेक्ट करने का प्रयास कर रहा हूं। हालांकि, सर्वर उत्तर देने के बिना कनेक्शन को हमेशा बंद कर देता है। कोई विचार क्यों?नेटकैट/सोकाट/टेलनेट के साथ मैन्युअल रूप से मैं वेबसाईट से कैसे कनेक्ट करूं?

socat - TCP:echo.websocket.org:80 

फिर, मैं टर्मिनल में निम्न पाठ पेस्ट:

यहाँ मैं क्या करते हैं

GET /?encoding=text HTTP/1.1 
Origin: http://www.websocket.org 
Connection: Upgrade 
Host: echo.websocket.org 
Sec-WebSocket-Key: P7Kp2hTLNRPFMGLxPV47eQ== 
Upgrade: websocket 
Sec-WebSocket-Version: 13 

मैं डेवलपर उपकरणों के साथ कनेक्शन के मापदंडों सूंघा, फ़ायरफ़ॉक्स में, उसी मशीन पर, जहां यह बेकार ढंग से काम करता है: इसलिए, मुझे लगता है कि वे सही हैं। हालांकि उसके बाद, सर्वर उत्तर देने के बिना तुरंत कनेक्शन बंद कर देता है। क्यूं कर? प्रोटोकॉल को मैन्युअल रूप से कैसे कार्यान्वित किया जा सकता है?

मुझे अपने टर्मिनल में टाइप टाइप करना होगा और मैंने जो टाइप किया है उसके साथ सर्वर को जवाब देने के लिए सर्वर प्राप्त करें (यह एक वेब ब्राउज़र में काम करता है)।

उत्तर

26

मुझे लगता है कि आप (कैरिज लौट & लाइन फ़ीड) CRLF को \ N (लाइन फ़ीड) अनुवाद करने के लिए सॉकेट धारा को संशोधित करना चाहते।

crnl Converts the default line termination character NL ('\n', 0x0a) 
     to/from CRNL ("\r\n", 0x0d0a) when writing/reading on this chan- 
     nel (example). Note: socat simply strips all CR characters. 

तो मुझे लगता है कि आप यह करना सक्षम होना चाहिए::

socat - TCP:echo.websocket.org:80,crnl 
info socat कर विस्तृत जानकारी जो इस संशोधक शामिल पैदा करता है
संबंधित मुद्दे