2017-05-11 65 views
0

我編程python服務器和Android客戶端。 程序的邏輯是客戶端向服務器發送多個文件。
我第一次嘗試C/C++套接字服務器但收到錯誤。所以我改變了python。因爲覆盆子pi上的服務器。
我必須實現文件上傳,音頻流。所以我想這個邏輯。

1.客戶端向服務器發送http請求
2.當服務器收到請求時,服務器創建TCP套接字並偵聽。
3.客戶端收到成功響應,連接服務器和文件上傳。

音頻流將實現類似的方式。

實施這種方式可以嗎?或者,還有更好的方法?
請給我一個提示如何實現它。什麼是最好的解決方案文件上傳爲python服務器

+0

嘗試翻新,它的一個甜美的庫 –

+0

首先實現服務器套接字並首先偵聽,然後從客戶端發送請求到服務器,然後將響應發送回客戶端 – Rajput

+0

@Rajput我必須處理文件上傳,音頻流。我如何區分消息和數據? – PurMir

回答

0

與小型部署一樣忽略套接字。他們處理起來要複雜一點。

現在asuming你想上傳一個圖片文件或某些其他文件蟒可以使用Flask Upload

下一步繼續音頻,如果你不得不從客戶端上傳音頻服務器,比沒有必要流媒體或東西,只需在上傳過程中通過適當的MIME類型。

ALLOWED_AUDIO_EXTENSIONS = set(['wav', 'ogg', 'mp3', ]) 

def audio_file(filename): 
    return '.' in filename and \ 
      filename.rsplit('.', 1)[1].lower() in ALLOWED_AUDIO_EXTENSIONS 

if file and audio_file(file.filename): 
    filename = secure_filename(file.filename) 
    #perform some application logic with audio files and then save them in file system or call boto3 to save on s3 

    file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename)) 
    return redirect(url_for('uploaded_file', 
            filename=filename)) 

代碼從燒瓶示例修改。

相關問題