在接收大文件时,比如文件大于几兆、 几十兆时,接收文件会出现问题,那就是read()阻塞问题,怎么解决呢?
1、可以用socket 设置一个超时的动作,比如说:socket.setSoTimeout(3000); 3秒后就不再执行,也就是 read() 随之结束。
2、就是 先给对方发个消息头,告诉对方这个文件的信息,比如:文件的长度 size,根据这个size ,循环接收,超过size 就结束。
本文共 253 字,大约阅读时间需要 1 分钟。
在接收大文件时,比如文件大于几兆、 几十兆时,接收文件会出现问题,那就是read()阻塞问题,怎么解决呢?
1、可以用socket 设置一个超时的动作,比如说:socket.setSoTimeout(3000); 3秒后就不再执行,也就是 read() 随之结束。
2、就是 先给对方发个消息头,告诉对方这个文件的信息,比如:文件的长度 size,根据这个size ,循环接收,超过size 就结束。
转载于:https://www.cnblogs.com/liyanHome/p/3443403.html