首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在socket编程中用ruby实现mp3文件从客户端到服务器端的传输

如何在socket编程中用ruby实现mp3文件从客户端到服务器端的传输
EN

Stack Overflow用户
提问于 2012-09-22 14:34:45
回答 2查看 1.5K关注 0票数 1

您好,我看到过将二进制文本文件从客户端传输到服务器以及从服务器传输到客户端的代码。但是,在使用Ruby编程时,我可以将mp3格式或任何音频文件从客户端传输到服务器吗?!

我在服务器端尝试了以下代码

代码语言:javascript
复制
file = open('/pentest/windows/songs/temp.mp3', "rb") 
fileContent = file.read 
client.puts(fileContent)

客户端:

代码语言:javascript
复制
sock = TCPSocket.open(host, port) 
data = sock.read 
destFile = File.open('/tmp/temp.mp3', 'wb') 
destFile.print data 
destFile.close 

它没有起作用..你能建议一下吗

EN

回答 2

Stack Overflow用户

发布于 2012-09-22 15:04:33

是。无论如何,mp3文件都是二进制格式。而且,您可以通过套接字传输的数据类型没有任何限制。

票数 0
EN

Stack Overflow用户

发布于 2012-09-30 03:23:42

尝尝这个,

在客户端中

代码语言:javascript
复制
        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  

在服务器中

代码语言:javascript
复制
         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
        end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12541387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档