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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ftpClient的连接超时设置(setConnectTimeout,setSoTimeout)

發布時間:2024/4/17 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ftpClient的连接超时设置(setConnectTimeout,setSoTimeout) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://blog.csdn.net/java2000_net/article/details/3723358

從 ftpClient的官方網的FAQ里面看到,實現這個需要用一個 自定義的SocketFactory
然后實現里面的 createSocket方法,有好多個。
http://wiki.apache.org/jakarta-commons/Net/FrequentlyAskedQuestions

原文如下:

Q: How can I set a connection timeout?

A: setDefaultTimeout does not set the connect timeout. It provides a default socket timeout. Only in J2SE 1.4 was the ability to specify a timeout on connect added to the Socket API. Since Commons Net 1.2.x has a J2SE 1.2 compatibility requirement, the ability to specify a connect timeout is not included. The way to workaround this is to implement your own SocketFactory and set it with SocketClient.setSocketFactory (FTPClient is a subclass of SocketClient). When you implement the SocketFactory, add a setConnectTimeout method or some such. Inside of the createSocket methods, use the J2SE 1.4 connect method with the timeout. We could actually provide socket factory that subclasses DefaultSocketFactory to do this without breaking backward compatibility, but that would have to be discussed further. The way to do it is to compile it only if J2SE >= 1.4 is being used. SocketClient could check for availability of the J2SE 1.4 connect method and instantiate the J2SE >= 1.4 factory if available (using Class.forName and newInstance). The setDefaultTimeout method could then be changed to also set the connect timeout in the new factory if being used. If users want this functionality enough, the best chance of getting it implemented soon is to submit a patch.



不過我看了 ftpClient 2.0的源代碼。

?ftpClient.connect(hostName, 21);


看看 connect的代碼如下
??? public void connect(String hostname, int port)
??? throws SocketException, IOException
??? {
??????? _socket_= _socketFactory_.createSocket();
??????? _socket_.connect(new InetSocketAddress(hostname, port), connectTimeout);
???????
??????? _connectAction_();
??? }

其中有一個connectTimeout正是我們需要的連接超時,我們看看它的定義
??? /** The socket's connect timeout (0 = infinite timeout) */
??? private static final int DEFAULT_CONNECT_TIMEOUT = 0;
??? protected int connectTimeout = DEFAULT_CONNECT_TIMEOUT;

可見默認是不限超時的。再搜索一下,找到如下這個方法
??? /**
???? * Sets the connection timeout in milliseconds, which will be passed to the {@link Socket} object's
???? * connect() method.
???? * @param connectTimeout The connection timeout to use (in ms)
???? * @since 2.0
???? */
??? public void setConnectTimeout(int connectTimeout) {
??????? this.connectTimeout = connectTimeout;
??? }
???
??? /**
???? * Get the underlying socket connection timeout.
???? * @return
???? * @since 2.0
???? */
??? public int getConnectTimeout() {
??????? return connectTimeout;
??? }
???
可見,我們完全可以直接設置超時時間就行了。具體代碼如下:

?FTPClient ftpClient = new FTPClient();
?ftpClient.setConnectTimeout(1000); // 一秒鐘,如果超過就判定超時了
?ftpClient.connect(hostName, 21);


估計2,0這個版本對這個問題進行了完善和增強,可以這么簡單的實現了。

?

http://www.docjar.com/html/api/examples/FTPSExample.java.html

總結

以上是生活随笔為你收集整理的ftpClient的连接超时设置(setConnectTimeout,setSoTimeout)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 免费在线看污视频 | 蜜桃av网| 国产视频一区二区 | 天天狠狠干 | wwwav网站 | 国产一区二区精华 | 中文字幕一区二区三区人妻不卡 | 久热一区| 丰满饥渴老女人hd | 视频一区 国产 | 性——交——性——乱免费的 | 三级黄毛片 | 欧美日韩一区二区三区不卡视频 | 免费看亚洲 | 免费激情视频网站 | 夜夜操狠狠干 | 国产一区亚洲二区三区 | 欧美福利社 | 久久网址 | 捆绑中国女人hd视频 | 国模一区二区 | 国产毛毛片 | 久久国产二区 | 一区二区三区视频 | 亚洲欧美日韩一区二区三区在线观看 | 美女毛片在线观看 | 国产成人av免费看 | 日韩中文字幕在线一区 | 色哟哟网站 | 影音先锋在线中文字幕 | 久草aⅴ | 久久午夜精品人妻一区二区三区 | 超碰在线一区 | 免费观看一区二区三区 | 日韩专区在线 | 国产真实乱人偷精品视频 | 天天看片中文字幕 | 日韩一区二区三区精品视频 | 国产女教师一区二区三区 | 无码人妻aⅴ一区二区三区有奶水 | www.日韩在线 | 法国空姐在线观看视频 | 日韩香蕉网 | 国产sss | 欧美com | 亚洲永久在线观看 | 国产乱淫av片免费看 | 久久精品波多野结衣 | 日韩一区精品 | 91麻豆精品91久久久久同性 | 成人久久在线 | 天美视频在线观看 | 九九九九精品九九九九 | 日韩av在线网站 | 91视频高清 | 久久免费精品视频 | mm131美女大尺度私密照尤果 | 中文字幕无码精品亚洲资源网久久 | 国产久一 | 另类亚洲激情 | caoporn成人 | 亚洲av成人无码网天堂 | av嫩草| 永久免费未满蜜桃 | 国产成人三级在线 | 成人av播放| 老司机深夜视频 | 四虎影院在线视频 | 一本久道视频一本久道 | 人人澡人人澡人人澡 | 亚洲二级片 | 饥渴丰满的少妇喷潮 | 污网站在线播放 | 国产精品国产三级国产普通话对白 | 91成人一区二区三区 | 精品久久久久久久久久久久久久 | 蜜桃精品视频在线观看 | 另类一区二区三区 | 女人黄色片 | 妖精视频在线观看免费 | 欧美一区二区福利视频 | 黄色片久久久久 | 蜜桃啪啪| 久久黄色网 | 久久免费高清视频 | 欧美激情视频一区二区三区在线播放 | 成人免费毛片免费 | 国产一区一区 | 日韩一区二区三区视频 | 欧美成人日韩 | av无毛 | 成人免费av| 国产福利在线免费观看 | 91久久国产精品 | 三级色网站| 免费看av软件 | 久操久操 | 男人用嘴添女人下身免费视频 | 日本一级大毛片a一 |