基于VC++和无线网络的文件传输系统.pptx

基于VC++和无线网络的文件传输系统.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于VC++和无线网络的文件传输系统程序界面第一部分Windows端Android6.0端第一部分主要运用技术一、主要运用技术“”在这次毕业设计中,我们小组主要使用了Socket技术来开发我们的作品。Socket:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;第 页德业并进,自强不息一、主要运用技术Socket操作:第 页德业并进,自强不息第二部分数据包二、数据包数据包:文件传输过程中的数据包由文件信息和文件数据流两部分组成。第 页德业并进,自强不息二、数据包数据包操作:发送端:接受端://写入文件流长度tempS = String.format(%010d, file.length());tempB = tempS.getBytes(UTF-8);fileArray = CombomBinaryArray(fileArray, tempB);//写入文件流tempB = new byte[(int) file.length()];FileInputStream fileInputStream = new FileInputStream(file);fileInputStream.read(tempB);fileArray = CombomBinaryArray(fileArray, tempB);//读取文件流长度tempB = new byte[10];data.read(tempB, 0, 10);tempS = new String(tempB, UTF-8); fileLength = Integer.parseInt(tempS);//循环箱文件写入文件流FileOutputStream fileOutputStream = new FileOutputStream(file, true);while (receivedLength fileLength) { bytes = data.read(tempB, 0, tempB.length); receivedLength += bytes; fileOutputStream.write(tempB, 0, bytes);}//组合数据包函数private byte[] CombomBinaryArray(byte[] srcArray1, byte[] srcArray2){ byte[] newArray = new byte[srcArray1.length+srcArray2.length]; System.arraycopy(srcArray1,0,newArray,0,srcArray1.length); System.arraycopy(srcArray2,0,newArray,srcArray1.length,srcArray2.length); return newArray;}第 页德业并进,自强不息第三部分状态标志三、状态标志Link : 由发送方发送“Link”字符串。Link_OK : 接收方接收到“Link”字符串后,向发送方发送“Link_OK”字符串。Start : 由发送方发送“Start”字符串。Start_OK : 接收方接收到“Start”字符串后,向发送方发送“Start_OK”字符串。Finish : 接收方接受完文件后,向发送方发送“Finish”字符串。第 页德业并进,自强不息二、数据包标志状态操作:发送端:public void run() { MainActivity.sendThreadFlag = true; StateCheck(); MainActivity.sendThreadFlag = false; super.run();}state_Accept = listenSocket.accept();InputStream accDate = state_Accept.getInputStream();accDate.read(state_SB);state_S = new String(state_SB); //接受到LINK后立即发送LINK_OKif (state_S.equals(Link)) { msg = handler.obtainMessage(); bundle.putString(String,state_S); msg.setData(bundle); handler.sendMessage(msg); StateSend(Link_

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档