# Error while trying to use Socket#accept\_nonblock

**URL:** <https://www.ruby-forum.com/t/error-while-trying-to-use-socket-accept-nonblock/84862>\
**Category:** Ruby\
**Created:** [February 8, 2007, 6:26am UTC](https://www.ruby-forum.com/t/error-while-trying-to-use-socket-accept-nonblock/84862 "2007-02-08T06:26:24Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![gnufied](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/ea666f/32.png) [@gnufied](https://www.ruby-forum.com/u/gnufied)\
**Post date:** [February 8, 2007, 6:26am UTC](https://www.ruby-forum.com/t/error-while-trying-to-use-socket-accept-nonblock/84862/1 "2007-02-08T06:26:24Z")

</div>

Pretty much sample code included with ri docs:

#Server

# In one script, start this first

require ‘socket’  
include Socket::Constants  
socket = Socket.new(AF\_INET, SOCK\_STREAM, 0)  
sockaddr = Socket.sockaddr\_in(2200, ‘localhost’)  
socket.bind(sockaddr)  
socket.listen(5)  
begin  
client\_socket, client\_sockaddr = socket.accept\_nonblock  
rescue Errno::EAGAIN, Errno::ECONNABORTED, Errno::EPROTO, Errno::EINTR  
IO.select([socket])  
retry  
end  
puts “The client said, ‘#{socket.readline.chomp}’” #line number 14  
client\_socket.puts “Hello from script one!”  
socket.close

#client

# In another script, start this second

require ‘socket’  
include Socket::Constants  
socket = Socket.new(AF\_INET, SOCK\_STREAM, 0)  
sockaddr = Socket.sockaddr\_in(2200, ‘localhost’)  
socket.connect(sockaddr)  
socket.puts “Hello from script 2.”  
sleep(2)  
puts “The server said, ‘#{socket.readline.chomp}’”  
socket.close

When i run the above code, the server code exits with an exception :

non\_block\_server.rb:14:in `readline’: Transport endpoint is not  
connected (Errno::ENOTCONN)  
from non\_block\_server.rb:14

Any ideas, why?

---

<div class="post-metadata">

**Author:** ![gnufied](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/ea666f/32.png) [@gnufied](https://www.ruby-forum.com/u/gnufied)\
**Post date:** [February 8, 2007, 11:35pm UTC](https://www.ruby-forum.com/t/error-while-trying-to-use-socket-accept-nonblock/84862/2 "2007-02-08T23:35:23Z")

</div>

Hemant K. wrote:

> Pretty much sample code included with ri docs:

Typo?

> rescue Errno::EAGAIN, Errno::ECONNABORTED, Errno::EPROTO, Errno::EINTR  
> IO.select([socket])  
> retry  
> end  
> puts “The client said, ‘#{socket.readline.chomp}’” #line number 14

```
                          ^^^^^^

```

sub(“socket”, “client\_socket”)
