欢迎来到天天文库
浏览记录
ID:20341720
大小:102.50 KB
页数:12页
时间:2018-10-12
《java网络文件传输的实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、java网络文件传输的实现——Socket编程 AllRightsReserved!本程序分为服务器和客户端两个小程序。主要实现的功能是:客户端向服务器端请求一个文件的传输连接,服务器接收到请求命令后,要求客户端发送用户名和密码,如果正确,就执行传输文件的过程,客户端接收完后,保存到一个文件中并在屏幕上显示出来。设计原理:服务器端建立一个SocketServer等待客户端的连接,每来一个客户端的请求连接,就创建一个新的线程对其进行单独服务,然后继续等待其他的客户端的连接。客户端向服务器发送文件传输请求,在服务器端要求鉴权时,输入用户名和密码发送给服务器验证,如果验证通过就开始文件传输。
2、 使用方法,如果需要重新编译的话输入以下两条命令:javacSendFileSocket.javajavacSendFileClient.java在命令行下的运行方式:服务器端:javaSendFileSocket客户端:javaSendFileClientserverIPAddress例如:javaSendFileClient192.168.0.153 服务器程序://packagezieckey.socket;importjava.net.*;importjava.io.*;/** *一个简单的多线程服务器程序,用于传输文件 * *@authorzieckey */publiccl
3、assSendFileSocketextendsThread{ /** *@paramargs */ publicstaticvoidmain(String[]args) { /*if(args.length>0)//如果有参数输入就启动服务器程序 { server(); }else { //否则启动客户端进程 client(); }*/ server();//启动服务器程序 } privates
4、taticfinalint PORT =6000; privateSocket s; privatestaticfinalString name ="zieckey"; privatestaticfinalString password ="123456"; publicSendFileSocket(Sockets) { this.s=s; } publicvoidrun() { try { O
5、utputStreamos=s.getOutputStream(); InputStreamis=s.getInputStream(); os.write("Hello,welcomeyou!".getBytes()); byte[]buf=newbyte[100]; while(true) { intlen=is.read(buf); StringrevStr=newString(buf,0,len);
6、 System.out.println("Thisclientwantsto"+revStr); StringfileName; if(revStr.startsWith("get"))//表明客户端请求传输一个文件 { os.write("Pleaseinputyournameandpassword!Usingtheformat:name@password" .getByt
7、es()); fileName=getFileName(revStr); len=is.read(buf); revStr=newString(buf,0,len); System.out.println("Thereceivedusernameandpassword:"+revStr);
此文档下载收益归作者所有