From: Fengfeng Li Date: 2011-05-03T18:25:49+09:00 Subject: @sock.readline no response in ftp.rb Hi everyone, I'm using ruby 1.8.7 p334 on windows. My code below is really simple, but there's something wrong if the ftp lasts for a long time: #code begin require 'net/ftp' require 'time' ftp = Net::FTP.new("189.41.6.136") ftp.login("mlog_123_usr", "MLog_123_pwd") puts Time.now() puts ftp.list ftp.putbinaryfile("D:\\version\\XXX.cc") # here puts Time.now() ftp.close #code end My destination host is very slow, so uploading a file(about 5M) can take about 15 minutes, then ruby.exe cann't exit forever(I see from the host to make sure the file has been uploaded and there's no existing ftp-users)! If the uploading can be finished in a few seconds, everything is OK. I've tried both the 1.8.6&1.8.7 version, they behaved the same way. I traced the raw codes in ftp.rb, and found it was stopped when @sock.readline. #ruby code def getline line = @sock.readline # if get EOF, raise EOFError line.sub!(/(\r\n|\n|\r)\z/n, "") if @debug_mode print "get: ", sanitize(line), "\n" end return line end private :getline #ruby code Is it because of my host not giving ruby.exe correct response, or because of ruby itself? Thanks a lot. -- Posted via http://www.ruby-forum.com/.