<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>drift_ic (路边飞)</title>
    <link>https://ruby-china.org/drift_ic</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>关于 Ruby 有什么有趣的应用吗？</title>
      <description>&lt;p&gt;如题，大家好像讨论的比较多的都是 rails，或者其他的一些 web 框架，除此之外，还有一些比较有趣的应用吗？&lt;/p&gt;</description>
      <author>drift_ic</author>
      <pubDate>Fri, 07 Jun 2013 17:36:57 +0800</pubDate>
      <link>https://ruby-china.org/topics/11570</link>
      <guid>https://ruby-china.org/topics/11570</guid>
    </item>
    <item>
      <title>Ruby Net:Telnet 连接 windows2008 诡异失败</title>
      <description>&lt;p&gt;&lt;strong&gt;问题&lt;/strong&gt;
我用 Net:Telnet 尝试去连接 windows2008，并执行命令，但是出现一些很诡异的问题，&lt;/p&gt;

&lt;p&gt;如果我执行&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;tn = Net::Telnet::new("Host"=&amp;gt;"walnutserver","Port"=&amp;gt;2300,"Prompt"=&amp;gt; /C:.*&amp;gt;/)
tn.login("user","pass")
tn.cmd("dir")
tn.cmd("dir")
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;第一个 tn.cmd("dir") 能正常运行，而第二个 tn.cmd("dir") 抛出异常，并且后继无论执行什么命令都是失败的，返回 nil。其中，经过实验，无论是什么 cmd 命令（不只 dir 命令），都会出现相同的问题，执行一个之后，后继的操作都会失败。
异常如下：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Timeout::Error: timed out while waiting for more data
        from c:/troy/data/chef/chef-client11/chef/embedded/lib/ruby/1.9.1/net/telnet.rb:558:in `waitfor'
        from c:/troy/data/chef/chef-client11/chef/embedded/lib/ruby/1.9.1/net/telnet.rb:697:in `cmd'
        from (irb):20
        from c:/troy/data/chef/chef-client11/chef/embedded/bin/irb:12:in `&amp;lt;main&amp;gt;'
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;用 sock.sysread() 方法可以看到系统显示了 &lt;code&gt;dir\r\n0x00More?&lt;/code&gt; ，然后就卡在那里了。&lt;/p&gt;

&lt;p&gt;但是如果我执行&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;tn = Net::Telnet::new("Host"=&amp;gt;"walnutserver","Port"=&amp;gt;2300,"Prompt"=&amp;gt; /C:.*&amp;gt;/)
tn.login("user","pass")
tn.cmd("ls")
tn.cmd("uname")
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;则不会出现上述问题。其中 ls、uname 是在 windows 中安装的 chef 只带的 linux 命令（可能是 cygwin)。&lt;/p&gt;

&lt;p&gt;网上有人跟我遇到一样的问题，但是也没有找到解决办法 &lt;a href="http://www.ruby-forum.com/topic/1516840" rel="nofollow" target="_blank"&gt;http://www.ruby-forum.com/topic/1516840&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;有没有哪位遇到相似的问题，并成功解决了？&lt;/p&gt;

&lt;p&gt;ruby 版本：ruby 1.9.3p286 (2012-10-12) [i386-mingw32]&lt;/p&gt;</description>
      <author>drift_ic</author>
      <pubDate>Tue, 07 May 2013 10:14:20 +0800</pubDate>
      <link>https://ruby-china.org/topics/10774</link>
      <guid>https://ruby-china.org/topics/10774</guid>
    </item>
  </channel>
</rss>
