A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王贺 中级黑马   /  2013-11-28 13:10  /  1570 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Socket s = new Socket("192.168.1.254",10007);
  FileInputStream fis = new FileInputStream(file);
  OutputStream out = s.getOutputStream();
  byte[] buf = new byte[1024];
  int len = 0;
  while((len=fis.read(buf))!=-1)
  {
   out.write(buf,0,len);
  }
如果我向服务器上传大点的文件,比如是100M的,我可以这么写吗,还有就是在项目中是怎么写的,用TCP还是UDP,求指导

评分

参与人数 1技术分 +1 黑马币 +6 收起 理由
枫儿 + 1 + 6 赞一个!

查看全部评分

4 个回复

倒序浏览
果断TCP  
回复 使用道具 举报
你这个程序用的就是TCP协议啊。UDP协议一次最大传输量为64k,一般用于聊天这种即时通信,或者不需要保证安全性的通信,它的特点是速度快、不需要建立链接。大流量的传输,比如下载、上传文件都用的TCP,特点是必须建立链接、可靠性高。
还有你这个程序有问题,没刷新啊。write后必须out.flush(),不然传输会有问题的。

评分

参与人数 1技术分 +1 黑马币 +6 收起 理由
枫儿 + 1 + 6

查看全部评分

回复 使用道具 举报
一般向服务器传文件用的是FTP吧,FTP是基于TCP的,保证安全,还有一些其他的功能
TFTP是基于UDP的,由于不安全,只能传输一些小的文件,而且功能也很简陋
回复 使用道具 举报
问题解决了就把类型改成提问结束1
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马