您好,我看到过将二进制文本文件从客户端传输到服务器以及从服务器传输到客户端的代码。但是,在使用Ruby编程时,我可以将mp3格式或任何音频文件从客户端传输到服务器吗?!
我在服务器端尝试了以下代码
file = open('/pentest/windows/songs/temp.mp3', "rb")
fileContent = file.read
client.puts(fileContent)客户端:
sock = TCPSocket.open(host, port)
data = sock.read
destFile = File.open('/tmp/temp.mp3', 'wb')
destFile.print data
destFile.close 它没有起作用..你能建议一下吗
发布于 2012-09-22 15:04:33
是。无论如何,mp3文件都是二进制格式。而且,您可以通过套接字传输的数据类型没有任何限制。
发布于 2012-09-30 03:23:42
尝尝这个,
在客户端中
require 'socket'
SIZE = 1024 * 1024 * 10
TCPSocket.open('127.0.0.1', 12345) do |socket|
File.open('c:/file.mp3', 'rb') do |file|
while chunk = file.read(SIZE)
socket.write(chunk)
end
end
end 在服务器中
require 'socket'
require 'benchmark'
SIZE = 1024 * 1024 * 10
server = TCPServer.new("127.0.0.1", 12345)
puts "Server listening..."
client = server.accept
time = Benchmark.realtime do
File.open('c:/file.mp3', 'w') do |file|
while chunk = client.read(SIZE)
file.write(chunk)
end
end
endhttps://stackoverflow.com/questions/12541387
复制相似问题