java scokt ftp下载_用Java实现Socket及ftp下载(1)

《用Java实现Socket及ftp下载(1)》由会员分享,可在线阅读,更多相关《用Java实现Socket及ftp下载(1)(2页珍藏版)》请在人人文库网上搜索。

1、用JAVA实现Socket通讯及Ftp下载需求分析在大亚湾实时数据接收过程中,Unix工作站中通过API调用从进程中实时获取各个测点的实时数据,并将数据以文件的形式保存到Ftp目录中。Unix通知Window(Windows 2000)平台从ftp上下载数据文件。我们要完成的工作是,通过协议完成Unix与Windows平台的通讯,然后,控制 Windows平台从ftp上下载指定文件。解决方案考虑到文件是在异构系统(UNIX与WINDOWS之间传输,为了有更好的移植性,我们决定用JAVA进行开发。要解决通讯,首先设置好协议。根据需求,协议是这样定义的:消息格式:消息头消息号数据块其中,消息头固定。

2、为“ kdc ”。消息号为通知对方的行动信号。AskForDow nl oad=1;WaitForDow nl oad=2;AllowDow nload=81;Dow nloadFile=82;以上为常数。数据块为用于进行 FTP操作的参数(若为空则以“# ”表示)。通讯方式:服务器通知客户端下载。客户端向服务器提出下载申请,消息中包含有用户名。服务器收到从客户端发来的消息后,对客户进行身份验证,若通过则向客户端发出允许下载的消息,将下载文件的 路径传给客户端;客户端收到允许下载消息后,便准备下载,将准备下载的消息传给服务器;服务器收到消息后,将口令传给用户;用户收到后,开始下载。具体实现用J。

3、AVA实现SOCKET!讯及FTP下载,需要引用以下包:java.io.*; java .n et.*; sun.n et.*;s un.n et.ftp.*;Socket操作的步骤:(1)打开一个Socket o(2)打开输入输出流。(3)通过服务协议读写流。(4)关闭流。(5)关闭 Socket oFtp操作步骤:(1) 连接Ftp服务器。(2) 打开流,创建一个文件实例。(3) 将Ftp上的文件写入流,然后在从流写到客户端的文件实例中。(4) 关闭流。5)关闭Ftp服务。对消息的解析 消息中包含有三部分内容:头部,消息号,数据块。在发送时,消息是以字符串的形式传送的。所以首先,必须把三部。

4、分内容从消息中分离出来。我们的解决办法是引用java.util.* 中的 StringTokenizer 类。先用消息字符串创建 StringTokenizer 的实例, 然后用 StringTokenizer 类中的 nexttoken() 方法对其进行分离, 在将三部分内容分别赋 给三个已定义好的变量。将消息中的三部分分离出来后,将其传给协议类的 action(String head,String type,String infor) 方法, 根据不同的消息进行相应的行动。意外处理在进行通讯和进行 FTP 操作时,会出现一些意外,比如,创建端口错误,连接失败, 消息格式不正确,连接 FTP 服务器是登录错误等。 由于,双方的通讯均为自动进行, 出现意 外若将此操作重复,没有任何意义,只会导致死循环,所以,我们的做法是,停止通讯,发 送报错消息,通知对方管理员, 检查其通讯配置及消息格式是否正确, 并做适当的修改,然 后再重新进行通讯。安全问题这是我们在程序中没有解决的地方,具体表现在,服务器要将登录 FTP的口令传送给客户端, 由于没有加密措施,在传送过程中,可能会被窃取,这将导致可能会有其他机器访问 FTP服务器。所以,这个问题,必须要解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值