我正在编写一个使用Sardine的文件同步客户端(在Java 1.6中):

https://code.google.com/p/sardine/

当Sardine失去与服务器的连接(例如,网络中断或从LAN更改为WiFi)时,我将无法重新连接,直到完全停止客户端并重新启动它。

我尝试了以下方法:


滥发连接
动态地重新创建沙丁鱼对象
用最新的Apache HTTP库重新打包Sardine源代码


据我所知,实际的联网发生在AbstractHttpClient内,但是我不确定下一步该怎么做。

不管原因如何,关于如何使该设备动态重新连接的任何建议?

最佳答案

您需要关闭您的沙丁鱼对象并创建另一个对象,例如:

Sardine sardine = SardineFactory.begin();

sardine.createDirectory(url);

if (sardine != null) {
    sardine.shutdown();
}

sardine = SardineFactory.begin();

// use again

关于java - 网络接口(interface)更改后Java重新连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14984419/

10-12 23:21