用java socket传输多文件遇到的问题

从客户端向服务端发送文件,文件都是30M+的大图片。我为了方便用对象输出\输入流的方式一张一张的发送\接收文件,一开始我试着上传5张图片,蛮好的。后来我试着上传14张图片... 从客户端向服务端发送文件,文件都是30M+的大图片。我为了方便用对象输出\输入流的方式一张一张的发送\接收文件,一开始我试着上传5张图片,蛮好的。后来我试着上传14张图片,服务端在接收了7张图片后就一直处于等待接收的状态,客户端就一直处于正在发送的状态,但是看不见之后的图片。不明白是怎么回事,是不是client发送文件大小有限制? 展开
 我来答
百度网友e152b87
2014-12-04 · 超过15用户采纳过TA的回答
知道答主
回答量:89
采纳率:0%
帮助的人:34.5万
展开全部
我觉得应该是你在服务器端的接收之后存储的缓存是不是太小了 当你的文件大于这个缓存的最大容量时 就会抛出异常 程序虽然没有停止 但是那个监听端口就会被关闭掉
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
heyouzhang2
2014-12-03
知道答主
回答量:2
采纳率:0%
帮助的人:2568
展开全部
从理论上好像没有这条限制哈,看一下有没有设么异常。
追问
我做的是个ui,上传图片是通过子线程(通过继承swingworker,个人感觉这个类像是异步处理工具类,所以就用它了)。关于异常倒是没有提示给我,但是我通过断点发现在doInBack..()方法体中在循环传递第八个图片的时候中断了,子线程就这样中断了。不清楚为什么。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蓝色的仙道_彰
2014-12-03 · TA获得超过314个赞
知道答主
回答量:85
采纳率:100%
帮助的人:55.7万
展开全部
架构:建议写成多线程池,每发一张图片从中取一个线程,发完关闭
你的问题很有可能出在客户端,查找一下发送线程里是不是有互锁出现了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
like_you_ever
2017-07-04
知道答主
回答量:1
采纳率:0%
帮助的人:975
展开全部
我也遇到了相同的问题,请教怎么解决的?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式