java tftp_JAVA实现tftp服务端(一)

本文档介绍了如何使用JAVA实现TFTP服务器。作者通过分析简单的TFTP协议,创建了一个包含Main.java、tftpServerAgent.java和tftpClientAgent.java三个类的DEMO。tftpServerAgent监听UDP端口69,接收到请求后创建tftpClientAgent处理RRQ和WRQ请求。代码示例展示了Main类启动服务器和服务器线程的工作流程。
摘要由CSDN通过智能技术生成

这几天看了一下tftp协议,非常简单,这个学期选修的JAVA,

想趁这个机会练习一下,写一个tftp server的,刚刚把demo完成了,

用windows2003的tftp客户端测试过了,也用我的ADSL (嵌入式linux)里面的tftp测试过,demo版本还是挺好的,至少可以用 。。。

face1.gif

=================================================

=================================================

因为tftp协议本身就很简单,所以我的代码就用了三个类文件,

Main.java --> 这个是启动代码,这个demo版本中,

他只是建立一个ServerAgent的对象,然后启动这个对象

tftpServerAgent.java --> 这是Server,它一直监听UDP Port 69,

来了新的连接,它就创建一个ClientAgent,

自己继续等待。

tftpClientAgent.java --> 这是与ftp客户端通信的类,它处理RRQ和WRQ

请求。

这两个Agent都继承了Thread,因为我想在以后的版本中加入Server的管理功能。

============================================

主要代码:

=================================

Main.java===========================================

public class Main {

/** Creates a new instance of Main */

public Main() {

}

public static void main(String[] args) throws Exception {

// TODO code application logic here

tftpServerAgent tftp_srv = new tftpServerAgent();

tftp_srv.setDaemon(true);

tftp_srv.start();

tftp_srv.join();    //暂时先这么处理吧

}

}

=======================================

tftpServerAgent.java

===========================================

public class tftpServerAgent extends Thread {//over the parent's run methord

public void run() {

try {

DatagramSocket tftpd = new DatagramSocket(69);  //tftp server socket

byte[] buf = new byte[516]; //a buffer for UDP packet

DatagramPacket dp = new DatagramPacket(buf, 516);   //a UDP packet

DataInputStream din = null;

tftpClientAgent newClient = null;

short tftp_opcode = 0;  //opcode: the 2 bytes in th

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值