我自己用java写了一个局域网聊天程序,有一些问题。 5

首先,我的程序要给客户使用的话,肯定要测试的,这就至少需要三台电脑:一台做服务器,两台做客户端都与服务端通过socket连接。问题出现在传送文件(聊天是好用的):客户端1... 首先,我的程序要给客户使用的话,肯定要测试的,这就至少需要三台电脑:一台做服务器,两台做客户端都与服务端通过socket连接。问题出现在传送文件(聊天是好用的):客户端1给客户端2传送文件时,点击传送文件按钮,选择文件,最后点确定的时候就没反应了(正常是客户端1显示:给***传送文件,等待接受;客户端2显示一个提示:***要给你传文件***,是否接受?),这个问题真的是折磨我好久了,希望有做过这方面的经验人士来指导我,谢谢!
ps:另外,我发现当我用两台电脑测试的时候就没问题(我自己的电脑做服务器和客户端1,另外一台电脑作为客户端2连接我。。)求大神来帮忙分析下。谢谢!Orz
需要看代码的同学再找我要。
展开
 我来答
沧桑老腊肉
2015-11-02 · TA获得超过200个赞
知道小有建树答主
回答量:183
采纳率:0%
帮助的人:194万
展开全部
你传送文件的消息应该是通过服务器转发的吧,服务器收到这个事件了吗
更多追问追答
追问
现在有新问题,就是传比较大的文件的时候(其实也不大,就100k),用户就会掉线,然后导致报个空指针。是怎么回事呢?
byte[] buf = new byte[1024 * 10];
int loaded = (int)(10240 < len ? 10240 : len);
in.read(buf,0,loaded);
fos.write(buf,0,loaded);
追答
byte [] buf= new byte[1024];
int len=0;
while((len=in.read(buf))!=-1){
fos.write(buf,0,len);

}
这样试试
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式