我想通過調用使用多線程調用webservice的函數以塊形式發送文件。使用多線程發送文件塊
以下是代碼的簡單:
int chunkSize = "whatever in byte";
byte[] fileBytes = ConvFileToByte("the pathe of the file");
int numberOfParts = (int)Math.Ceiling((decimal)fileSize/chunkSize);
for (int i; i< numberOfParts; i++)
{
//Get the offset.
//Get the bytes to send.
SendFile(ByteToSend, offset) // This call a method in a webservice.
}
什麼是使用這個功能mutithreading的最佳方式?
注意:但不要忘記,如果一個塊發送失敗,我應該再次發送它。
你可以將它們發送出去嗎?你需要使用相同的TCP/IP連接發送它們,還是可以將它們作爲多個連接發送? – 2010-01-18 09:18:08
爲此使用多線程的目的是什麼?發送文件是一個I/O限制任務,不受CPU限制,因此並行化CPU工作不可能爲您帶來任何收益。 – Wyzard 2010-01-18 09:23:42
我不使用TCP/IP,我在Web服務中調用一個函數 – Hiyasat 2010-01-18 09:26:50