- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java网络文件传输的实现—Socket编程
Java网络文件传输的实现——Socket编程本程序分为服务器和客户端两个小程序。主要实现的功能是:客户端向服务器端请求一个文件的传输连接,服务器接收到请求命令后,要求客户端发送用户名和密码,如果正确,就执行传输文件的过程,客户端接收完后,保存到一个文件中并在屏幕上显示出来。
设计原理:服务器端建立一个SocketServer等待客户端的连接每来一个客户端的请求连接,就创建一个新的线程对其进行单独服务,然后继续等待其他的客户端的连接。客户端向服务器发送文件传输请求,在服务器端要求鉴权时,输入用户名和密码发送给服务器验证,如果验证通过就开始文件传输。使用方法,如果需要重新编译的话输入以下两条命令:javac SendFileSocket.java
javac SendFileClient.java
在命令行下的运行方式:服务器端:javac SendFileSocket.java
java SendFileSocket
客户端:javac SendFileClient.java
java SendFileClient serverIPAddress
例如: java SendFileClient 192.168.1.101服务器端SendFileSocket.java://package cyf.socket;
import java.net.*;
import java.io.*;
/****************************
* 一个简单的多线程服务器程序,用于传输文件
*
* @author cyf
****************************/
public class SendFileSocket extends Thread
{
/*************
* @param args
*************/
public static void main( String[] args )
{
/*if ( args.length 0 ) // 如果有参数输入就启动服务器程序
{
server( );
} else
{
// 否则启动客户端进程
client( );
}*/
server( );//启动服务器程序
}
private static final int PORT = 6000;
private Socket s;
private static final String name = cyf;
private static final String password = 123;
public SendFileSocket( Socket s )
{
this.s = s;
}
public void run()
{
try
{
OutputStream os = s.getOutputStream( );
InputStream is = s.getInputStream( );
os.write( 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 );
String fileName;
if ( revStr.startsWith( get ) )//表明客户端请求传输一个文件
{
os.write( Please input your name and password! Using the format:name@pas
您可能关注的文档
最近下载
- 呼吸衰竭ppt(共40张PPT).pptx VIP
- 7.1《风景谈》课件(共41张PPT)(含音频+视频).pptx VIP
- QXT3传感器中文操作手册.pdf VIP
- 病理科医疗质量自查表.docx VIP
- 菲亚特博悦说明书.docx VIP
- 2014-6-30电力变电站钢结构装配式建筑、围墙、防火墙.pdf VIP
- 上海市市东实验学校2022-2023学年高一10月月考语文试题.pdf VIP
- 《半导体物理与器件》教学大纲.docx VIP
- 2025青海公司所属华电(格尔木)能源有限公司面向华电系统内外招聘180人笔试备考试题及答案解析.docx VIP
- 人教版道德与法治四年级上册教案.docx VIP
文档评论(0)