6
回答
Fastdfs客户端不能连接
终于搞明白,存储TCO原来是这样算的>>>   

    服务器上搭建好环境,安装了nginx代理模块,在服务器上使用fdfs_upload_file能上传,浏览器也能下载,

可是本机用java客户端连接上传死活都不行。连接超时。

不知道这可能是哪里的原因?

引用来自“battyman”的评论

java端的代码的tracker服务器地址配置对了么?

charset=UTF-8
http.anti_steal_token=false
http.secret_key=STORAGE1234567890
tracker_server=192.168.0.196:22122
http.tracker_http_port=22123

ClientGlobal.init函数是否正确初始化配置文件了?

请仔细理解一下fastdfs的架构。

或者我简单的解释一下文件上传流程吧:

①Client端连接TrackerServer,询问StorageServer

②TrackerServer返回一个可用的StorageServer,数据为StorageServer的IP和端口号(默认23000)

③Client直接和此StorageServer连接,完成文件上传操作

也就是说,最后实际上传文件操作的,是由StorageServer完成的,所以StorageServer也是需要对你可见的


--- 共有 1 条评论 ---
kidbei正解。我没用过fastdfs,没有去理解过,感谢讲解 3年前 回复

java端的代码的tracker服务器地址配置对了么?

charset=UTF-8
http.anti_steal_token=false
http.secret_key=STORAGE1234567890
tracker_server=192.168.0.196:22122
http.tracker_http_port=22123

ClientGlobal.init函数是否正确初始化配置文件了?

--- 共有 1 条评论 ---
kidbei已经找到问题了,storage的tracker_server地址必须是外网地址,我这个不理解,为什么要是外网地址呢?tracker和storage在同一台机子上,我的是阿里云主机 3年前 回复

引用来自“battyman”的评论

java端的代码的tracker服务器地址配置对了么?

charset=UTF-8
http.anti_steal_token=false
http.secret_key=STORAGE1234567890
tracker_server=192.168.0.196:22122
http.tracker_http_port=22123

ClientGlobal.init函数是否正确初始化配置文件了?

引用来自“battyman”的评论

请仔细理解一下fastdfs的架构。

或者我简单的解释一下文件上传流程吧:

①Client端连接TrackerServer,询问StorageServer

②TrackerServer返回一个可用的StorageServer,数据为StorageServer的IP和端口号(默认23000)

③Client直接和此StorageServer连接,完成文件上传操作

也就是说,最后实际上传文件操作的,是由StorageServer完成的,所以StorageServer也是需要对你可见的


此外通过Client端的代码也是可以看出这一点的
tracker = new TrackerClient();
trackerServer = tracker.getConnection();
storageServer = tracker.getStoreStorage(trackerServer);
client = new StorageClient1(trackerServer, storageServer);
你好,我遇到了和你一样的问题,能不能把你问题的解决方案说详细一点呢。storage的tracker_server地址必须是外网地址?这个地址是在Linux中的配置中改吗?改了以后服务器都不能实现上传下载了。

我也遇到了同样的问题,但是tracker_server地址用的是nginx代理地址,nginx提供外网支持,但是还是connect time out ! 通过问题定位storageServer = tracker.getStoreStorage(trackerServer); 报错!client = new StorageClient1(trackerServer, null); 不报错,但是client.upload_file()方法报错

疑问:

1.是必须trackerServer服务器地址提供外网支持吗,nginx代理地址提供也不行?

2.初步定位应该是获取trackerServer及trackerClient没问题,在trackerServer寻求可用storageServer时连接超时;可有解决方案

顶部