我想通过Ruby中的TCP套接字将图片从一台PC发送到另一台,但是要下载它的PC在不关闭发送方侧面的套接字的情况下不会读取套接字中的文件。
此代码上传了文件
puts 'OPENING FILE...'
file = open(fName,'rb')
puts 'DONE\nREADING FILE...'
fContent = file.read
puts 'DONE'
master.puts 1
msRes = master.gets.chomp.to_i
puts msRes
puts 'UPLOADING FILE'
master.puts fContent
master.puts 'done'
master.flush
puts 'DONE'
此代码下载了文件
slave = $slave
puts 'ENTER FILE NAME TO DOWNLOAD'
fName = gets.chomp
slave.puts("DOWNLOAD")
slave.gets
puts("SLAVE READY")
slave.puts(fName)
response = slave.gets.chomp.to_i
puts response
if response == 1
slave.puts 1
puts "DOWNLOADING..."
data = slave.read
puts "DOWNLOADED WRITING"
destFile = File.new(fName,'wb')
destFile.write data
destFile.close
else
puts 'NON-EXISTANT FILE'
end
如果我添加 master.close ,一切都会很好。但是,如果可能的话,我想避免关闭连接并再次连接。