java 关于服务器、客户端通讯socket,read() 阻塞问题

在接收大文件时,比如文件大于几兆、 几十兆时,接收文件会出现问题,那就是read()阻塞问题,怎么解决呢?

1、可以用socket 设置一个超时的动作,比如说:socket.setSoTimeout(3000); 3秒后就不再执行,也就是 read() 随之结束。

2、就是 先给对方发个消息头,告诉对方这个文件的信息,比如:文件的长度 size,根据这个size ,循环接收,超过size 就结束。

posted @ 2013-11-26 15:23  李岩-博客  阅读(435)  评论(0编辑  收藏  举报