作者chchwy (mat)
看板java
标题Re: [问题] 用socket做档案传输的档案大小问题...
时间Sat Jun 21 10:04:02 2008
没人在用超大阵列的啦....都马分批送
简单概念
先取得档案大小 fileSize
while(fileSize>0){
//从档案读512 bytes
//实际上读了n bytes
//n bytes写进Socket
fileSize -= n;
}
接收端动作反过来就好了
==
米油姐XD
※ 引述《miyuika (Challenge!)》之铭言:
: 最近在研究用socket作档案传输(我是初学者~冏
: 可做到Server跟Client间,二进位档案上传下载(用FileOutputStream)
: 但因为byte阵列大小限制在65536,
: 档案只做一次传输, 变成说传送之档案大小不能超过65536bytes
: 该如何解决呢? 多传几次吗?可是怎麽做续传呢 @@?
: 请高人帮忙解惑 orz thx! ^^
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.112.181.151
※ 编辑: chchwy 来自: 59.112.181.151 (06/21 10:04)
※ 编辑: chchwy 来自: 59.112.181.151 (06/21 10:05)
1F:推 cair:米油姐好 建中哥好 =口= 06/21 12:30
2F:推 miyuika:吓我一跳~ 建中哥好XD 06/21 12:55
3F:→ miyuika:感恩感恩啦 ^^ 06/21 12:56
4F:推 miyuika:话用用超大阵列的话 档案是不是比较容易损坏?@ @ 06/21 13:01
5F:推 miyuika:还是不太懂耶 实际上读了n bytes? n是怎麽知道的阿 >"< 06/21 13:35
6F:推 miyuika:应该说我不知道你的n是指什麽... orz 06/21 13:37
7F:推 TonyQ:n是所谓的buffer size,比方说我一次传送10KB 就是10480byte 06/21 13:38
8F:推 tkcn:是10240啦 XD 06/21 13:44
9F:→ tkcn:n其实是buffer中的资料长度, 不一定等於 buffer size 06/21 13:46
10F:→ tkcn:至於n怎麽取得,注意一下 read() 的回传值吧 06/21 13:48
11F:推 miyuika:我写出来了!!!~再拜谢建中哥~ 06/21 16:15