ImageVerifierCode 换一换
格式:DOC , 页数:12 ,大小:102.50KB ,
资源ID:8794188      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/8794188.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(java网络文件传输的实现.doc)为本站上传会员【s4****5z】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

java网络文件传输的实现.doc

1、java网络文件传输的实现——Socket编程  All Rights Reserved! 本程序分为服务器和客户端两个小程序。 主要实现的功能是: 客户端向服务器端请求一个文件的传输连接, 服务器接收到请求命令后,要求客户端发送用户名和密码, 如果正确,就执行传输文件的过程,客户端接收完后, 保存到一个文件中并在屏幕上显示出来。 设计原理: 服务器端建立一个SocketServer等待客户端的连接, 每来一个客户端的请求连接,就创建一个新的线程对其进行单独服务, 然后继续等待其他的客户端的连接。 客户端向服务器发送文件传输请求,在服务器端要求鉴权时, 输入

2、用户名和密码发送给服务器验证,如果验证通过就开始文件传输。   使用方法,如果需要重新编译的话输入以下两条命令: javac SendFileSocket.java javac SendFileClient.java 在命令行下的运行方式: 服务器端: java SendFileSocket 客户端: java SendFileClient serverIPAddress 例如:java SendFileClient 192.168.0.153   服务器程序: //package zieckey.socket; import .*; import j

3、ava.io.*; /**  * 一个简单的多线程服务器程序,用于传输文件  *  * @author zieckey  */ public class SendFileSocket extends Thread {     /**      * @param args      */     public static void main( String[] args )     {         /*if ( args.length > 0 ) // 如果有参数输入就启动服务器程序         {             server( );  

4、       } else         {             // 否则启动客户端进程             client( );         }*/         server( );//启动服务器程序     }     private static final int    PORT        = 6000;     private Socket                s;     private static final String    name        = "zieckey";     private static

5、final String    password    = "123456";     public SendFileSocket( Socket s )     {         this.s = s;     }     public void run()     {         try         {             OutputStream os = s.getOutputStream( );             InputStream is = s.getInputStream( );             os.write( "

6、Hello,welcome you!".getBytes( ) );             byte[] buf = new byte[100];             while ( true )             {                 int len = is.read( buf );                 String revStr = new String( buf, 0, len );                 System.out.println( "This client wants to "+revStr );     

7、            String fileName;                 if ( revStr.startsWith( "get " ) )//表明客户端请求传输一个文件                 {                     os.write( "Please input your name and password! Using the format:name@password"                                     .getBytes( ) );                     fileName

8、 = getFileName( revStr );                     len = is.read( buf );                     revStr = new String( buf, 0, len );                     System.out.println( "The received user name and password:"+revStr);                     if ( revStr.startsWith( "zieckey@123456" ) )                   

9、  {                         FileInputStream fins = new FileInputStream( fileName );                         //byte[] fielBuf = new byte[100];                         int data;                         while ( -1 != ( data = fins.read( ) ) )//从文件中读取数据,每次读取1字节                         {       

10、                      os.write( data ); //将读取到的数据写到网络数据流中发送给客户段                         }                         break;                     }                 } else                 {                     os.write( "geting file's usage is:get filename".getBytes( ) );                 }      

11、       }             os.close( );             is.close( );             s.close( );         } catch ( Exception e )         {             e.printStackTrace( );         }     }     /*      * 作用:从客户端发来了文件请求命令中提取出所请求的文件名      * 参数:客户端发来了文件请求命令字符串,应该以“get ”开头      * 返回值:提取出所请求的文件名    

12、  */     private String getFileName( String revStr )     {         String fileName;         fileName = revStr.substring( 3 );         while ( fileName.startsWith( " " ) )         {             fileName = fileName.substring( 1 );         }         return fileName;     }     public static

13、 void server()     {         System.out.println( "This is server" );         try         {             ServerSocket ss = new ServerSocket( PORT );             int count = 0;             while ( true )             {                 // 创建一个Socket等待客户端连接                 Socket s = ss.accept

14、 );                 count++ ;                 System.out.println( "This is the " + count + "'st client connetion!" );                 new SendFileSocket( s ).start( );// 启动一个线程为这个客户端服务             }         } catch ( Exception ex )         {             ex.printStackTrace( );         }  

15、   }     /*public static void client()     {         System.out.println( "This is client" );         try         {             // 创建一个Socket             Socket s = new Socket( InetAddress.getByName( null ), PORT );             OutputStream os = s.getOutputStream( );// 输出流             Inpu

16、tStream is = s.getInputStream( );// 输入流             byte[] buf = new byte[100];             int len = is.read( buf );// 从输入流中读取数据到buf             System.out.println( new String( buf, 0, len ) );             // 向输出流中写入数据,请求传输一个文件             os.write( "get server.txt".getBytes( ) );            

17、 len = is.read( buf );// 从输入流中读取数据到buf             String tempStr = new String(buf,0,len);             if ( tempStr.startsWith( "Please input your name and password" ) )             {                 System.out.print("Please input your name and password, ");                 System.out.print("Us

18、ing the format:name@password:");                 System.in.read( buf );                 os.write( buf );             }                          //开始读取文件数据并把它写到一个名为"clientread.txt"的文件中             FileOutputStream fos = new FileOutputStream( "clientread.txt" );             int data;          

19、   while ( -1 != ( data = is.read( ) ) )             {                 fos.write( data );             }                          System.out.println("\nFile has been recerved successfully.");             os.close( );             is.close( );             s.close( );         } catch ( Exceptio

20、n ex )         {             ex.printStackTrace( );         }     }*/ } 客户端程序: import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import .InetAddress; import .InetSocketAddress; import .Socket; public class SendFile

21、Client {     private static final int    Server_PORT    = 6000;     private static final int    Client_PORT    = 6001;          /**      * 使用方法:运行这个程序需要带上参数,参数类型为点分十进制的ip地址,例如:192.168.0.153      * @param args      * @throws IOException      */     public static void main( String[] args

22、) throws IOException     {         // TODO Auto-generated method stub         System.out.println( "This is client" );         /*System.out.print("Please input your name and password, ");         System.out.print("Using the format:name@password:");         byte[] buf = new byte[100];        

23、 System.in.read( buf );*/         byte[] buf = new byte[100];         byte[] name = new byte[100];         //InetAddress inetAddr;                  if ( !isIPAddress(args[0]) )         {             System.out.println("The usage is : java SendFileClient ipaddress");             System.out.

24、println("For example : java SendFileClient 192.168.0.153");                          return;         }                  String ipStr = args[0];         try         {             // 创建一个Socket             Socket s = new Socket();             s.connect ( new InetSocketAddress (ipStr , Serv

25、er_PORT ), Client_PORT );             OutputStream os = s.getOutputStream( );// 输出流             InputStream is = s.getInputStream( );// 输入流             int len = is.read( buf );// 从输入流中读取数据到buf             System.out.println( new String( buf, 0, len ) );             // 向输出流中写入数据,请求传输一个文件

26、             os.write( "get server.txt".getBytes( ) );             len = is.read( buf );// 从输入流中读取数据到buf             String tempStr = new String(buf,0,len);             if ( tempStr.startsWith( "Please input your name and password" ) )             {                 System.out.println("Pleas

27、e input your name and password, ");                 System.out.println("Using the format:name@password:");                 do                 {                     System.in.read( name );                 } while ( name.length<5 );                 os.write( name );             }             

28、             //开始读取文件数据并把它写到一个名为"clientread.txt"的文件中             FileOutputStream fos = new FileOutputStream( "clientread.txt" );             int data;             while ( -1 != ( data = is.read( ) ) )             {                 fos.write( data );             }                         

29、 System.out.println("\nFile has been recerved successfully.");             os.close( );             is.close( );             s.close( );         } catch ( Exception ex )         {             ex.printStackTrace( );         }     }          //简单的判断字符串是否为一个ip地址     //后期再完善该判断方法     private static boolean isIPAddress( String ip )     {         if(ip.length( )<5)         {             return false;                     }else         {             return true;         }     } }

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服