पर "\ n" प्रिंट करना चाहिए, तो मैं अपने ऐप के लिए एक व्यवस्थापक कंसोल बनाने के लिए सॉकेट आईओ के साथ JLine 2 (v2.13) का उपयोग कर रहा हूं जिसे किसी के माध्यम से एक्सेस किया जा सकता है सामान्य टेलनेट ग्राहक। हालांकि मैंने पाया इसे बाहर अजीब प्रतीकों प्रिंट जब यह एक लाइन ब्रेक प्रिंट आउट करना चाहिए:jline2 प्रिंट "^ जे" जब इसे एक टेलनेट कंसोल
act.app.restart restart app^Jact.job.list List jobs
सही उत्पादन किया जाना चाहिए:
act.app.restart restart app
act.job.list List jobs
मैं कोड में पता लगाया और निम्न कोड पंक्ति में पाया गया कि मुसीबत का कारण:
एक और अजीब बात है जब मैं तीर दबाएँ इतिहास पाने के लिए, कंसोल प्रिंट बाहर +०१२३५९१९३०२२और कुछ भी नहीं होता है।
क्या किसी को कोई विचार है?
अद्यतन: जोड़ा प्रासंगिक स्रोत कोड
- कोड भेजे टेलनेट कनेक्शन को स्वीकार:
- कोड है कि बनाता है
ConsoleReader
और आदेश भेजता है:
अद्यतन 2
खेद है कि मैं थोड़ी देर के लिए गायब हो गए हैं। बस वापस आओ क्योंकि मेरी परियोजना मुझे ताजा हवा का सांस देती है। तो यहाँ क्या हुआ है: मैं एक PrintWriter
बनाया है और ^J
जारी करने के लिए एक समाधान के रूप में इसका इस्तेमाल किया है:
jline2
टेलनेट सत्र के साथ प्रयोग किया जाता है
लेकिन वहाँ कई अन्य मुद्दे हैं
- टाइप
<TAB>
पूर्ण सूची को सक्रिय करने के बजाय टैब प्रदर्शित करता है। हालांकि, जब मैं एंटर कुंजी दबाता हूं तो यह मुझे एक पूर्ण सूची देता है और एक त्रुटि संदेश देता है: - टाइप
<UP>
तीर,^[[A
प्रदर्शित करता है, एंटर कुंजी दबाएं, यह मेरा अंतिम आदेश निष्पादित करेगा। हालांकि मैं कमांड लाइन संपादन
मुद्दा अभी भी वहाँ है और मेरा मानना है कि हल करने के लिए यह सिर्फ कुछ गाइड की जरूरत है एक तरह से होना चाहिए ...
क्या आपके पास उपयोग किए जा रहे क्लाइंट के लिए टर्मिनल कॉन्फ़िगर किया गया है? जिन वर्णों को आप देख रहे हैं वे शायद कर्सर को स्थानांतरित करने के लिए उपयोग किए जाने वाले भागने वाले अनुक्रम हैं, जो क्लाइंट को समझ में नहीं आते हैं जब तक कि कोई मेल नहीं खाता है, उदाहरण के लिए, यूनिक्स के बजाय vt-100 या windows के बजाय एएनएसआई। सुनिश्चित करें कि आप टर्मिनल एप्लिकेशन को ठीक से कॉन्फ़िगर कर रहे हैं। उदाहरण के लिए टर्मिनल टाइप ऑटो में देखें। –
मैं लिनक्स टकसाल 17.3 पर हूं, जावा सर्वर से कनेक्ट करने के लिए सादे टेलनेट का उपयोग करें। और टेलनेट कनेक्शन अनुरोध का जवाब देने के लिए कोड https://github.com/actframework/actframework/blob/master/src/main/java/act/app/CliServer.java#L56 है। –
बीटीडब्ल्यू, मुझे कक्षा टर्मिनल टाइप को jline2 स्रोत कोड में नहीं मिला। क्या आप यहां एक लिंक डाल सकते हैं? –