XMLファイルなら簡単です。
HTTPヘッダーにContent-Type: text/xml
を追加し、HTTPヘッダーの\r\n\r\n
の後にXMLファイルデータを追加して、ソケット経由でWebサーバーに送信できます。
ウェブサーバーはHTTPヘッダーからXMLファイルが含まれていることを理解し、そのファイルを受け取ります。 bnaryファイルの場合は、base64
に変換する必要があります。
たとえば、httpリクエストを格納するバッファを使用しています。このバッファをWebサーバーに接続されたソケットに送信すると、FileName.xmlがWebサーバーに保存されます。これが動作するためには、upload.phpはPOSTデータを処理できなければなりません。 境界はデータ間の境界を示すもので、HTTPプロトコルで必要です。任意の乱数を生成し、開始境界と終了境界番号が等しいことを確認できます。また、コンテンツの長さは、ファイルの長さです。 `
char buf[2048] = "POST http://www.nameofyoursite.com/upload.php HTTP/1.1\r\n"
"Host: www.nameofyoursite.com\r\n"
"Content-Type: multipart-form-data, boundary=1234567\r\n"
"Content-Length: 15\r\n\r\n"
"--1234567\r\n"
"Content-Disposition: form-data; name=\"uploadedfile\"; filename=\"FileName.xml\"\r\n"
"Content-Type: text/xml\r\n"
"<xml>This is a test</xml>\r\n"
"--1234567--\r\n";
`
私は、クライアントがユーザー&pwdを取得し、クエリ文字列を生成してサーバーに送信するコードを書いています。サーバーはサーバーにファイルを送信する必要があるときに応答を出します。クライアントから。 – user1196792