title: Ruby TCPSocket write doesn't work, but puts does?
body: <p>I'm working on a Ruby TCP client/server app using GServer and TCPSocket.  I've run into a problem that I don't understand.  My TCPSocket client successfully connects to my GServer, but I can only send data using puts.  Calls to TCPSocket.send or TCPSocket.write do nothing.  Is there some magic that I'm missing?</p>
  
  <pre><code>tcp_client = TCPSocket.new( ipaddr, port )
  tcp_client.puts( 'Z' ) # -&gt; GServer receives "Z\n"
  </code></pre>
  
  <p>But if I use write or send...</p>
  
  <pre><code>tcp_client = TCPSocket.new( ipaddr, port )
  tcp_client.write( 'Z' ) # -&gt; nothing is received
  tcp_client.send( 'Z' ) # -&gt; nothing is received
  </code></pre>
  
  <p>Thanks for the help  </p>
  
  <p>Additional information:</p>
  
  <ol>
  <li>The behavior is the same on Linux &amp; Windows.</li>
  <li>Flushing the socket after write doesn't change the behavior.</li>
  </ol>