2008-11-07 24 views
7

मेरे पास एक ऐसा एप्लिकेशन है जहां मैं एक टेलनेट क्लाइंट से सॉकेट कनेक्शन स्वीकार करता हूं और एक सरल, कीबोर्ड संचालित चरित्र जीयूआई डालता हूं।फोर्स टेलनेट क्लाइंट चरित्र मोड में

टेलनेट ग्राहक, कम से कम लिनक्स पर, लाइन पर एक समय मोड में चूक, तो मैं हमेशा मैन्युअल ^]mode char क्या करना है।

प्रासंगिक आरएफसी की एक स्किम बताती है कि यदि मेरे एप्लिकेशन ने क्लाइंट कनेक्ट होने के तुरंत बाद IAC DONT LINEMODE (\377\376\042) अक्षरों को भेजा, तो ग्राहक को चरित्र मोड में मजबूर होना चाहिए। हालांकि, इससे कोई फर्क नहीं पड़ता है।

कोड का सबसे आसान बिट क्या काम करेगा? आदर्श रूप से सिर्फ एक स्ट्रिंग भेजा जाना है। मेरा आवेदन क्लाइंट जो भी जंक भेजता है उसे अवशोषित कर सकता है।

उत्तर

6

इसके लायक होने के लिए, इसे स्वयं हल करें।

// IAC WONT LINEMODE IAC WILL ECHO 

write(s,"\377\375\042\377\373\001",6); 

दूरस्थ स्थिति (एक लिनक्स बॉक्स पर Xterm से कम से कम टेलनेट) सही स्थिति में हो जाता है।

8

दिलचस्प। मैं और अधिक भाग्य

IAC WILL ECHO IAC WILL SUPPRESS_GO_AHEAD IAC WONT LINEMODE 
255 251 1 255 251     3 255 252  34 

आईएसी अभ्यस्त LINEMODE निरर्थक प्रतीत हो रहा है भेजने के लिए किया था: मेरे टेलनेट ग्राहक इसके बिना सही राज्य को पाने के लिए लगता है, लेकिन मैं इसे पूर्णता के लिए छोड़ दिया जाए।

0

केविन के समाधान महान काम करता है: write(s,"\377\375\042\377\373\001",6);

हालांकि टिप्पणी थोड़ा गलत है। यह कहना चाहिए "LINEMODE DO", नहीं "अभ्यस्त LINEMODE", अर्थात्: // IAC DO LINEMODE IAC WILL ECHO

(स्रोत: rfc854)

+0

डिफ़ॉल्ट स्थिति NVT (आधार नेटवर्क आभासी टर्मिनल) है कि के बराबर टेलनेट के प्रत्येक छोर कनेक्शन के संबंध में कनेक्शन के रूप में व्यवहार करना चाहिए __everything__ अक्षम है, और कुछ भी तब तक सक्षम नहीं है जब तक कि एक विकल्प को करने की पेशकश की गई है, उसकी इच्छा और दूसरे छोर के डीओ उत्तर और/या वही विकल्प से सहमत हो गया है जो वही अंत चाहता है करने के लिए दूसरे छोर से उनके डीओ के साथ अनुरोध किया गया है और दूसरे छोर जवाब में होगा। निस्संदेह एक दिशा में विकल्प दूसरी दिशा में एक ही विकल्प से अलग है - सिवाय इसके कि ईसीएचओ एक _special_ केस है ... – SlySven

+0

... और इसकी अनुमति नहीं है (याद नहीं किया जा सकता है कि यह नहीं होना चाहिए या नहीं नहीं करना चाहिए) एक दिशा में ईसीएचओ को अगर रिवर्स दिशा पहले से ही इकोइंग मोड में है! – SlySven

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^