# Ruby Socket: I found a misstake in the doc. Can someone confirm it and who's gonna fix this doc-erro

**URL:** <https://www.ruby-forum.com/t/ruby-socket-i-found-a-misstake-in-the-doc-can-someone-confirm-it-and-whos-gonna-fix-this-doc-erro/116457>\
**Category:** Ruby\
**Created:** [October 5, 2007, 7:25pm UTC](https://www.ruby-forum.com/t/ruby-socket-i-found-a-misstake-in-the-doc-can-someone-confirm-it-and-whos-gonna-fix-this-doc-erro/116457 "2007-10-05T19:25:59Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![kazaam](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/b4bc9f/32.png) [@kazaam](https://www.ruby-forum.com/u/kazaam)\
**Post date:** [October 5, 2007, 7:25pm UTC](https://www.ruby-forum.com/t/ruby-socket-i-found-a-misstake-in-the-doc-can-someone-confirm-it-and-whos-gonna-fix-this-doc-erro/116457/1 "2007-10-05T19:25:59Z")

</div>

Hi,  
I’m playing around with sockets in ruby and took a look at the  
docs([http://www.ruby-doc.org/stdlib/libdoc/socket/rdoc/index.html](http://www.ruby-doc.org/stdlib/libdoc/socket/rdoc/index.html)).  
There are some examples like this  
here([http://www.ruby-doc.org/stdlib/libdoc/socket/rdoc/classes/Socket.html#M004166](http://www.ruby-doc.org/stdlib/libdoc/socket/rdoc/classes/Socket.html#M004166)):

```
 require 'socket'
 include Socket::Constants
 socket = Socket.new( AF_INET, SOCK_STREAM, 0 )
 sockaddr = Socket.pack_sockaddr_in( 2200, 'localhost' )
 socket.bind( sockaddr )
 socket.listen( 5 )
 client, client_sockaddr = socket.accept
 puts "The client said, '#{socket.readline.chomp}'"
 client.puts "Hello from script one!"
 socket.close

```

But that example is wrong! It has to be client.readline.chomp and not  
socket.readline.chomp. Take this example by me:

#!/usr/bin/env ruby

$Verbose=true

require ‘socket’

mysocket = Socket.new(Socket::AF\_INET, Socket::SOCK\_STREAM, 0)  
socketaddress = Socket.pack\_sockaddr\_in( 2201, ‘localhost’ )  
mysocket.bind(socketaddress)  
mysocket.listen( 5 )  
client, client\_sockaddr = mysocket.accept  
puts client.readline.chomp #reading from the client fd  
mysocket.close

execute it and connect with netcat: “nc localhost 2201” , now type  
something in netcat and you will see everything is fine but now let’s  
change it to the doc way:

#!/usr/bin/env ruby

$Verbose=true

require ‘socket’

mysocket = Socket.new(Socket::AF\_INET, Socket::SOCK\_STREAM, 0)  
socketaddress = Socket.pack\_sockaddr\_in( 2201, ‘localhost’ )  
mysocket.bind(socketaddress)  
mysocket.listen( 5 )  
client, client\_sockaddr = mysocket.accept  
puts mysocket.readline.chomp #reading from the socket fd  
mysocket.close

If you connect now to it with nc the ruby-script will crash:  
./sockettest.rb:13:in `readline’: Transport endpoint is not connected  
(Errno::ENOTCONN)  
from ./sockettest.rb:13

Can someone confirm it and who’s gonna fix this doc-error?

---

<div class="post-metadata">

**Author:** ![kazaam](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/b4bc9f/32.png) [@kazaam](https://www.ruby-forum.com/u/kazaam)\
**Post date:** [October 5, 2007, 11:39pm UTC](https://www.ruby-forum.com/t/ruby-socket-i-found-a-misstake-in-the-doc-can-someone-confirm-it-and-whos-gonna-fix-this-doc-erro/116457/2 "2007-10-05T23:39:56Z")

</div>

kazaam wrote:

> … and who’s gonna fix this doc-error?

This might help:

[http://www.ruby-doc.org/documentation-guidelines.html](http://www.ruby-doc.org/documentation-guidelines.html)

–  
James B.

“The use of anthropomorphic terminology when dealing with  
computing systems is a symptom of professional immaturity.”

- Edsger W. Dijkstra

---

<div class="post-metadata">

**Author:** ![kazaam](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/b4bc9f/32.png) [@kazaam](https://www.ruby-forum.com/u/kazaam)\
**Post date:** [October 6, 2007, 12:35pm UTC](https://www.ruby-forum.com/t/ruby-socket-i-found-a-misstake-in-the-doc-can-someone-confirm-it-and-whos-gonna-fix-this-doc-erro/116457/3 "2007-10-06T12:35:38Z")

</div>

Can noone confirm this?

---

<div class="post-metadata">

**Author:** ![kazaam](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/b4bc9f/32.png) [@kazaam](https://www.ruby-forum.com/u/kazaam)\
**Post date:** [October 6, 2007, 3:46pm UTC](https://www.ruby-forum.com/t/ruby-socket-i-found-a-misstake-in-the-doc-can-someone-confirm-it-and-whos-gonna-fix-this-doc-erro/116457/4 "2007-10-06T15:46:54Z")

</div>

On 10/6/07, kazaam [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Can noone confirm this?
> 
> –  
> kazaam [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

It’s not even been a full day since your original post. Relax.

---

<div class="post-metadata">

**Author:** ![kazaam](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/b4bc9f/32.png) [@kazaam](https://www.ruby-forum.com/u/kazaam)\
**Post date:** [October 6, 2007, 5:04pm UTC](https://www.ruby-forum.com/t/ruby-socket-i-found-a-misstake-in-the-doc-can-someone-confirm-it-and-whos-gonna-fix-this-doc-erro/116457/5 "2007-10-06T17:04:08Z")

</div>

Hi,

In message “Re: Ruby Socket: I found a misstake in the doc. Can someone  
confirm it and who’s gonna fix this doc-error?”  
on Sat, 6 Oct 2007 02:25:05 +0900, kazaam [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

|I’m playing around with sockets in ruby and took a look at the docs([http://www.ruby-doc.org/stdlib/libdoc/socket/rdoc/index.html](http://www.ruby-doc.org/stdlib/libdoc/socket/rdoc/index.html)). There are some examples like this here([http://www.ruby-doc.org/stdlib/libdoc/socket/rdoc/classes/Socket.html#M004166](http://www.ruby-doc.org/stdlib/libdoc/socket/rdoc/classes/Socket.html#M004166)):  
|  
| require ‘socket’  
| include Socket::Constants  
| socket = Socket.new( AF\_INET, SOCK\_STREAM, 0 )  
| sockaddr = Socket.pack\_sockaddr\_in( 2200, ‘localhost’ )  
| socket.bind( sockaddr )  
| socket.listen( 5 )  
| client, client\_sockaddr = socket.accept  
| puts “The client said, ‘#{socket.readline.chomp}’”  
| client.puts “Hello from script one!”  
| socket.close  
|  
|But that example is wrong! It has to be client.readline.chomp and not socket.readline.chomp. Take this example by me:

It’s already updated in the source. I guess [ruby-doc.org](http://ruby-doc.org) needs update  
as well.

```
          matz.

```
