日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

JAVA实现ftp服务端_用 java 实现FTP SERVER(附源码)

發布時間:2023/11/27 生活经验 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA实现ftp服务端_用 java 实现FTP SERVER(附源码) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前面用 PYTHON 實現了一個 ftp server(參考這里) ,有朋友問有沒有java版本的,其實說白了,ftp 也就是 tcp/ip 協議的一個應用而已,而tcp/ip 基本都是通過socket來傳輸指令或數據,只要客戶端和服務端定義好溝通協議就好了。FTP 是有一套標準的,只要按這套標準去做,就可以實現一個FTP服務器。

下面的程序實現了一套簡單的基于java的ftp server,你可以自己加上自己需要的東西,暫時這個FTP SERVER 有如下功能:

1 一個實現了的ftp服務器基本功能程序,服務器的安全管理代碼還沒有開發,

但該程序已經可以適用于網絡。

2 該ftp服務器還具有一些管理功能,主要是

針對用戶管理的,有如下命令:

list、listuser、adduser、deluser、help、?。

list 列出連接用戶信息

listuser 列出所有用戶信息

adduser 新增用戶

deluser 刪除用戶

help 顯示幫助,列出以上指定

“?” 同help功能相同

3 關于用戶的權限設置,還未開發,因此所有登陸的用戶的都具有最高權限,

4 有2個缺省用戶:

user:jxd password:111

user:good password:public

5 用戶信息在同目錄下的user.cfg中,

注意用戶信息的書寫,一個用戶的信息占一行:

user|password|directory|

6 在eclipse下新建一Java項目 將FtpServer.java放入你所建的項目文件夾下,

并將user.cfg配制文件放入該項目文件夾下。

編譯運行FtpServer.java 服務啟動

會顯示 “ftp server started!”

服務啟動 即可操作指令。(部分操作指令見附件。)

7 客戶端可以通過本地機操作系統自帶Ftp客戶端連接 ftp server.

具體操作:

開始->運行

輸入 "cmd" 調出控制臺

在控制臺輸入 ftp 192.168.1.104

即可連接 。

當連接成功會顯示Connection to 192.168.1.104 //192.168.1.104為服務器的IP

并提示你當前登入服務器的人數。

然后輸入你要操作的指令(部分操作指令見附件。)

當連接不成功則會顯示 Unknown host 192.168.1.104

服務器端的部分指令例子:->adduser

please enter username:jxd

enter password :public

enter the initial directory: d

->list

1:jxd From /192.168.1.104

->listuser

username workdirectory

ruan e:/incoming

wen d:/incoming

->?

adduser :add new user

deluser :delete a user

quit :quit

list :list all user connect to server

listuser : list all account of this server

help :show this help

->help

adduser :add new user

deluser :delete a user

quit :quit

list :list all user connect to server

listuser : list all account of this server

help :show this help

->deluser jxd

User jxd deleted

客戶端指令例子:

ftp> ?

Commands may be abbreviated. Commands are:

! delete literal prompt send

? debug ls put status

append dir mdelete pwd trace

ascii disconnect mdir quit type

bell get mget quote user

binary glob mkdir recv verbose

bye hash mls remotehelp

cd help mput rename

close lcd open rmdir

ftp> !

Microsoft Windows XP [版本 5.1.2600]

(C) 版權所有 1985-2001 Microsoft Corp.

ftp> DELE dd.txt

250 Request file action ok,complete

ftp> literal

Command line to send

Usage: literal line to send.

ftp> prompt

Interactive mode Off .

ftp> send

Local file d:\22.txt

Remote file d:\incoming\22.txt

ftp> debug

Debugging On .

ftp> ls

---> PORT 192,168,1,104,5,244

200 Command okay

---> NLST

200 Command okay

ftp> put

Local file c:001.txt

Remote file d:\incoming

ftp> get 1222.txt

200 Command okay

150 Opening Binary mode data connection for d:\incoming/1222.txt

226 Transfer complete !

ftp> status

Connected to 192.168.1.104.

Type: ascii; Verbose: On ; Bell: Off ; Prompting: Off ; Globbing: On

Debugging: Off ; Hash mark printing: Off .

ftp> append

Local file c:\

Remote file d:\incoming

ftp> dir

200 Command okay

150 Opening ASCII mode data connection for /bin/ls.

d aa

- FtpServer.java

d mkd

226 Transfer complete !

ftp: 收到 31 字節,用時 0.00Seconds 31000.00Kbytes/sec.

ftp> mdelete

Remote files ff.txt

200 Command okay Change to ASCII mode

ftp> pwd

257 d:\incoming is current directory.

ftp> ascii

200 Command okay Change to ASCII mode

ftp> mdir

Remote files incoming\ff.txt

Local file c:\001.txt

output to local-file: c:\001.txt?

200 Command okay

226 Transfer complete !

ftp> recv

Remote file ff.txt

Local file C:\Documents and Settings\jxd

200 Command okay

150 Opening Binary mode data connection for d:\incoming/ff.txt

226 Transfer complete !

ftp> verbose

Verbose mode Off .

ftp> bye

C:\Documents and Settings\jxd>

ftp> hash

Hash mark printing On ftp: (2048 bytes/hash mark) .

ftp> mls

Remote files -

Local file -

200 Command okay

200 Command okay

ftp> remotehelp

200 Command okay

ftp> cd

Remote directory d:\incoming

250 Requested file action okay, directory change to d:\incoming

ftp> help

Commands may be abbreviated. Commands are:

! delete literal prompt send

? debug ls put status

append dir mdelete pwd trace

ascii disconnect mdir quit type

bell get mget quote user

binary glob mkdir recv verbose

bye hash mls remotehelp

cd help mput rename

close lcd open rmdir

ftp> mput

Local files c:\001.txt

mput c:\001.txt?

200 Command okay

150 Opening Binary mode data connection for d:\incoming/001.txt

226 Transfer complete !

ftp> rename

From name d:\incoming\001.txt

To name 99.txt

226 Transfer complete !

ftp> Lcd

Local directory now C:\Documents and Settings\jxd.

ftp> open

Already connected to 192.168.1.104, use disconnect first.

ftp> rmdir

Directory name 目錄名字

ftp> close

221 Service closing control connection

源代碼,打包如下,有興趣的可以下載:

點擊下載此文件

總結

以上是生活随笔為你收集整理的JAVA实现ftp服务端_用 java 实现FTP SERVER(附源码)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。