Ruby'de küçük bir telnet sunucusu yapıyorum. Şu anda karşılaştığım sorun, sekme tamamlama ve komut satırı geçmişi desteği alabilmem için okuma desteği eklemek istiyorum. Readline kütüphanesine baktım ama sanki sadece stdin ile çalışacak gibi görünüyor. Bunu Ruby'de yapmanın bir yolu var mı (Python için çözüm fark ettim)?Ruby hattı düzenleme telnet sunucusu
5
A
cevap
1
Bunu, bir boruyu readline içine pipetleyerek yapabilirsiniz. Burada, command 1
, command2
, , command 3
mesajlarını gönderen while
döngüsünü kullanarak bir örnek bulabilirsiniz.
require 'readline'
rd, wr = IO.pipe
(1..3).each do |i|
wr.puts "command #{i}"
end
wr.close
Readline.input = rd
while buf = Readline.readline('', true)
p Readline::HISTORY.to_a
print("-> ", buf, "\n")
end
Çıktı:
["command 1"]
-> command 1
["command 1", "command 2"]
-> command 2
["command 1", "command 2", "command 3"]
-> command 3
İlgili konular
- 1. Powershell Düzenleme Xml Tutarsız Hattı burada
- 2. Ruby TFTP sunucusu
- 3. Telnet 400
- 4. PHP Telnet bağlantısı mesajı
- 5. PHP Telnet/SSH dinamik giriş
- 6. Düzenleme Düzenleme
- 7. Açık kaynak Telnet Java API
- 8. VBA'dan bir Telnet oturumu çalıştırma
- 9. Telnet Uygulama Öğelerini JavaScript'te Kullanma
- 10. Telnet üzerinden satırbaşı nasıl gönderilir?
- 11. Rails sunucusu başlatılmıyor mu?
- 12. Düzenleme
- 13. Hafif GNU okuma hattı alternatifi
- 14. Çin Ulusal telefon hattı Google Harita kullanamaz
- 15. sml listesinde bir düzenleme düzenleme
- 16. commons-net kullanarak otomatik Telnet istemcisi
- 17. C# SSH ve Telnet için Kitaplık
- 18. Telnet üzerinden LDAP "istekleri" göndermek mümkün mü?
- 19. SendKeys Olmadan Telnet Oturumu Nasıl Otomatikleştirilir
- 20. Nodejs HTTP Sunucusu ile Özel HTTP yöntemi
- 21. Jenkins çok dallı boru hattındaki yapılandırmayı düzenleme
- 22. Bir sklearn Boru Hattı içinde birleştiren birden fazla boru hattı?
- 23. Android Şekli Hattı
- 24. Hattı gizemli hata
- 25. , ben ad hattı
- 26. TextArea'da Ara Verme Hattı
- 27. Boru Hattı DSL (Groovy)
- 28. Renk hattı - Python
- 29. Python kaplumbağası, hattı sil
- 30. Talep işleme hattı nedir?
Maalesef sunucuda readline uygulamaya çalışmıştır nelerdir? Readline'ın istemci tarafında uygulanan bir şey olduğuna inanıyorum. –
Jip, şu anda benim sorunum. Readline sadece stdin ile çalışır (bu nedenle sadece istemci tarafı). Telnet sunucumun maruz kaldığı sunucu tarafı komutları için otomatik tamamlama vb. Alabilmem için telnet üzerinden okuma yapmanın mümkün olup olmadığını bilmek istiyorum. – wcmatthysen
Bence readline stdin'den başka bir şey üzerinde çalışacak. Kullanıcıların standart telnet istemcisi kullanarak bağlanmasını bekliyor musunuz? Telnet'in sekme tamamlanmasını destekleyip desteklemediğinden emin değilim. En basit yolun sadece kendi istemcinizi uygulamak ve orada sekme tamamlama ile destek hattı desteği eklemek olduğunu düşünüyorum. –