更新時(shí)間:2019-09-26 09:36:30 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2791次
FTP本身是基于TCP的,那么肯定會(huì)有IP和端口對(duì)不對(duì)?
回答:是對(duì)的
一般默認(rèn)的FtpServer默認(rèn)端口21,這里我單純的以為他只會(huì)用到端口21(怪我之前沒有好好掃盲)。
踩到的第一個(gè)坑"防火墻"
當(dāng)我的FTPserver集成完后,防火墻只開放了我監(jiān)聽的7000端口。興高采列的上測(cè)試服務(wù)器測(cè)試了。
然后在測(cè)試服務(wù)器用ftp命令連接了一下,嗯~,非常順利竟然連接成功,然后防火墻開了7000端口。過了一會(huì)發(fā)現(xiàn)用別的機(jī)器連接好像不行了。這出現(xiàn)了大寫的尷尬~。經(jīng)過反復(fù)測(cè)試發(fā)現(xiàn)關(guān)掉防火墻就好了,在這里我還不知道FTP有個(gè)控制端口和連接端口。
簡(jiǎn)單的說控制端口用來登錄的,連接端口是在登錄之后使用的,至于使用什么端口要看主動(dòng)模式和被動(dòng)模式了。
Minaftpserver使用
這個(gè)用起來也很簡(jiǎn)單的
接著說,話說防火墻也被我關(guān)了。這下應(yīng)該沒啥事兒,嗯~話說這種情況在局域網(wǎng)(客戶端和服務(wù)器),真的一點(diǎn)問題都沒有。
當(dāng)我們的客戶端程序搬到外網(wǎng)之后,F(xiàn)TPserver在內(nèi)網(wǎng)通過路由器的端口映射
可能有小伙伴看不大明白,弄張圖吧:
左邊就是我的服務(wù)器,這樣部署后,發(fā)現(xiàn)客戶端死活連不上服務(wù)器,但是可以登錄,嘗試過主動(dòng)模式、被動(dòng)模式、將所有端口映射還是不起作用。
找文檔,找資料。找到了一個(gè)可以設(shè)備被動(dòng)模式和主動(dòng)模式使用的端口如下:
到這里算是有一點(diǎn)收獲,總算把使用的端口搞明白了。但是還是沒解決客戶端不能連的問題。
接著找,再仔細(xì)的看主動(dòng)模式和被動(dòng)模式
主動(dòng)模式、被動(dòng)模式
這二個(gè)模式都是針對(duì)服務(wù)器而言
主動(dòng)模式
當(dāng)客戶端登錄服務(wù)器成功后,客戶端告訴服務(wù)器客戶端開放的端口,然后服務(wù)器主動(dòng)去連接客戶端告訴過來的端口
被動(dòng)模式
當(dāng)客戶端登錄服務(wù)器成功后,服務(wù)器告訴客戶端我開放的端口,然后客戶端來連接服務(wù)器的端口,相當(dāng)于是服務(wù)器一直是被動(dòng)的等待連接
到這兒可能有點(diǎn)思路了,確定我的服務(wù)器一定是使用被動(dòng)模式。通過日志發(fā)現(xiàn)被動(dòng)模式使用的IP不對(duì)
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)小編介紹的“Java 集成Ftp Server踩到的坑”的內(nèi)容,希望對(duì)大家有幫助,更多java最新資訊請(qǐng)繼續(xù)關(guān)注動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)官網(wǎng),每天會(huì)有精彩內(nèi)容分享與你。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743