2024年4月12日发(作者:)

java网络文件传输的实现——Socket编程

All Rights Reserved!

本程序分为服务器和客户端两个小程序。

主要实现的功能是:

客户端向服务器端请求一个文件的传输连接,

服务器接收到请求命令后,要求客户端发送用户名和密码,

如果正确,就执行传输文件的过程,客户端接收完后,

保存到一个文件中并在屏幕上显示出来。

设计原理:

服务器端建立一个SocketServer等待客户端的连接,

每来一个客户端的请求连接,就创建一个新的线程对其进行单独服务,

然后继续等待其他的客户端的连接。

客户端向服务器发送文件传输请求,在服务器端要求鉴权时,

输入用户名和密码发送给服务器验证,如果验证通过就开始文件传输。

使用方法,如果需要重新编译的话输入以下两条命令:

javac

javac

在命令行下的运行方式:

服务器端:

java SendFileSocket

客户端:

java SendFileClient serverIPAddress

例如:java SendFileClient 192.168.0.153

服务器程序:

//package ;

import .*;

import .*;

/**

* 一个简单的多线程服务器程序,用于传输文件

*

* @author zieckey

*/

public class SendFileSocket extends Thread

{

/**

* @param args

*/

public static void main( String[] args )

{

/*if ( > 0 ) // 如果有参数输入就启动服务器程序

{

server( );

} else

{

// 否则启动客户端进程

client( );

}*/

server( );//启动服务器程序

}

private static final int PORT = 6000;

private Socket s;

private static final String name = "zieckey";

private static final String password = "123456";

public SendFileSocket( Socket s )

{

this.s = s;

}