目前根據(jù)文檔上的一個二進制文件上傳的例子來做一個tcp的文件上傳,當傳輸幾十兆的文件就出錯了(服務端錯誤:error package. package_length=66032542,客戶端:Notice: fwrite(): send of 8192 bytes failed with errno=10054 遠程主機強迫關閉了一個現(xiàn)有的連接。)。我想把大文件分片上傳,可又不知道思路。
不行的話,只有換成 http api $_FILES的形式,但是走tcp也應該可以,小弟太菜,還請大神指點
[attach]2084[/attach]
這個案例我搞過,效果如圖所示,支持大文件上傳,支持斷點續(xù)傳等等,關鍵用到技術點有:
1、服務端使用官方的BinaryTransfer協(xié)議或者其他自定義協(xié)議均可;
2、大文件進行切片分塊上傳,PHP客戶端要用到 fseek() 函數(shù);
3、服務端每次收到連接消息后,都要通知客戶端目前已經(jīng)接收了多少數(shù)據(jù)量;