2012-03-19 8 views
0

私は、ファイルのアップロードを可能にするC++で書かれたサーバを持っています。 しかし、私は最初に、ファイルのサイズを確認したい、それは100 MB未満の場合はそれ以外の場合はそれをアップロードし、それ以外の場合はアップロードします。 これを実行できる機能はありますか?C++で最大ファイルサイズのアップロードをチェックする方法は?

これは私の関数である:

long bytes_read = recv(client_fd, tempBuffer, sizeof(tempBuffer),0); 

しかし、私はファイルを受信しながら、VaRのbytes_readを制御するが、唯一の後にすることはできません。 これが問題です。あなたがすべき

+0

は 'ulimit()'がサポートされていますか?私はあなたがそれを使うことができると思います。 –

+0

これは、既存のプロトコルを再利用する方が良い理由です。 'HTTP POST'は' Content-Length'ヘッダを持っています。 – MSalters

答えて

0

は、ファイルデータの前に4バイトのファイルの長さを送信します

int file_fize; 
recv(client_fd, &file_fize, sizeof(file_fize),0); 
recv(client_fd, buffer, file_fize,0); 
0

あなたはファイル自体を送信する前に、クライアントからのファイルのサイズを送信する必要があります。受け取る準備ができていればクライアントのサイズと応答を確認してください。

関連する問題