diff --git a/lib/rb/lib/thrift/transport/socket.rb b/lib/rb/lib/thrift/transport/socket.rb
index 37dda9b..818d329 100644
--- a/lib/rb/lib/thrift/transport/socket.rb
+++ b/lib/rb/lib/thrift/transport/socket.rb
@@ -39,13 +39,17 @@
       end
     end
 
-    def read(sz)
+    def read(sz, nonblock=false)
       begin
-        data = @handle.recv(sz)
-      rescue StandardError
-        raise TransportException.new(TransportException::NOT_OPEN)
+        if nonblock
+          data = @handle.read_nonblock(sz)
+        else
+          data = @handle.read(sz)
+        end
+      rescue StandardError => e
+        raise TransportException.new(TransportException::NOT_OPEN, e.message)
       end
-      if (data.length == 0)
+      if (data.nil? or data.length == 0)
         raise TransportException.new(TransportException::UNKNOWN, "Socket: Could not read #{sz} bytes from #{@host}:#{@port}")
       end
       data
diff --git a/lib/rb/spec/socket_spec.rb b/lib/rb/spec/socket_spec.rb
index b6e2a14..cfd7c7b 100644
--- a/lib/rb/spec/socket_spec.rb
+++ b/lib/rb/spec/socket_spec.rb
@@ -49,21 +49,21 @@
     it "should raise an error when it cannot read from the handle" do
       TCPSocket.should_receive(:new).and_return(@handle)
       @socket.open
-      @handle.should_receive(:recv).with(17).and_raise(StandardError)
+      @handle.should_receive(:read).with(17).and_raise(StandardError)
       lambda { @socket.read(17) }.should raise_error(TransportException) { |e| e.type.should == TransportException::NOT_OPEN }
     end
 
     it "should raise an error when it reads no data from the handle" do
       TCPSocket.should_receive(:new).and_return(@handle)
       @socket.open
-      @handle.should_receive(:recv).with(17).and_return("")
+      @handle.should_receive(:read).with(17).and_return("")
       lambda { @socket.read(17) }.should raise_error(TransportException, "Socket: Could not read 17 bytes from localhost:9090")
     end
 
     it "should return the data read when reading from the handle works" do
       TCPSocket.should_receive(:new).and_return(@handle)
       @socket.open
-      @handle.should_receive(:recv).with(17).and_return("test data")
+      @handle.should_receive(:read).with(17).and_return("test data")
       @socket.read(17).should == "test data"
     end
 
