解决:使用java连接Fastdfs,上传文件时报:SocketTimeOutException的问题
最近研究了下分布式存储Fastdfs,在centOS上配置完后,使用centOS或putty连接并上传图片,然后用浏览器读取storage server返回的URL,一切正常.
但是,使用eclipse上传图片时,报错:SocketTimeOutException.
报错行为:String[] strings = storageClient.upload_file("D:\\120.jpg", "jpg", null);
网上查了将近一天,但却没有对应的解决方案, 唯一一个比较接近的说法是:tracker server的IP要用外网IP.
但是也没说很具体.
经过亲测,这种方法,对我的问题还是无法解决.
而且,Fastdfs的这个问题,在网上很少有人提及,所以研究了一下.
反复检查API代码,确认无误.
反复检查Fastdfs的配置,确认无误.
把tracker server的IP换成外网IP,然后重启storage server服务,发现卡住,无法重启.
最后反复检查配置文件,发现问题:
在storage server的conf中,第23,24行是这个:
# the storage server port
port=23000
这毫无疑问代表了storage server自己的端口号.
而,我们新装的centOS,默认开启的端口号,是很少的! 之前的80,8080,22122端口,都是自己后来手动开的.
而这个23000,很可能没有开启!!
经过确认,的确如此,开启这个端口后,eclipse中上传文件正常! junit绿条!
思考:
为什么前三个端口号能意识到并手动开启,而这个端口,却在最后才想到?
因为,在centOS或putty中调试时,前三个没开的话,就会立即出问题.
但是,第四个端口,在centOS和putty中,即使没开,也不影响上传图片或通过http访问图片的URL!
导致自己很难想到这个本身就很简单的问题.
端口查看及开启方式:
在centOS服务器或putty中:
1.查看打开的端口:
#/etc/init.d/iptables status
2.手动打开指定的端口(以23000 为例):
#/sbin/iptables -I INPUT -p tcp --dport 23000 -j ACCEPT
3.打开端口后,记得保存:
#/etc/rc.d/init.d/iptables save
原文:https://blog.csdn.net/jsflzhong/article/details/51647481
解决:使用java连接Fastdfs,上传文件时报:SocketTimeOutException的问题的更多相关文章
- 《手把手教你》系列技巧篇(五十四)-java+ selenium自动化测试-上传文件-中篇(详细教程)
1.简介 在实际工作中,我们进行web自动化的时候,文件上传是很常见的操作,例如上传用户头像,上传身份证信息等.所以宏哥打算按上传文件的分类对其进行一下讲解和分享. 2.为什么selenium没有提供 ...
- 《手把手教你》系列技巧篇(五十五)-java+ selenium自动化测试-上传文件-下篇(详细教程)
1.简介 在实际工作中,我们进行web自动化的时候,文件上传是很常见的操作,例如上传用户头像,上传身份证信息等.所以宏哥打算按上传文件的分类对其进行一下讲解和分享. 2.为什么selenium没有提供 ...
- java web程序上传文件,浏览器显示连接被重置
上传文件时,到13%时浏览器显示连接被重置如图: 参考网上很多方法 比如设置server.xml 的相应大小.时间,然并没有解决问题 connectionTimeout="2000000&q ...
- java使用ftp上传文件
ftpServer是apache MINA项目的一个子项目,它实现了一个ftp服务器,与vsftpd是同类产品.Filezilla是一个可视化的ftp服务器. ftp客户端也有很多,如Filezill ...
- c#连接SFTP上传文件
名词解释(百度百科) sftp是Secure File Transfer Protocol的缩写,安全文件传送协议.可以为传输文件提供一种安全的加密方法.sftp 与 ftp 有着几乎一样的语法和功能 ...
- java使用httpcomponents 上传文件
一.httpcomponents简介 httpcomponents 是apache下的用来负责创建和维护一个工具集的低水平Java组件集中在HTTP和相关协议的工程.我们可以用它在代码中直接发送htt ...
- Java模拟http上传文件请求(HttpURLConnection,HttpClient4.4,RestTemplate)
先上代码: public void uploadToUrl(String fileId, String fileSetId, String formUrl) throws Throwable { St ...
- JAVA调用FTP上传文件
import java.io.File; import java.io.FileInputStream; import org.apache.commons.net.ftp.FTP; import o ...
- java实用技能 上传文件 等等
1.IOS AES对称加密,加密结果不同,问题解决 IOS http post请求,使用AFNetworing 框架,默认请求content-type为application/json ,所以无法使 ...
随机推荐
- [转]synchronized的锁机制
参考文章:https://blog.csdn.net/lang_programmer/article/details/72722751 synchronized是否是可重入锁 https:// ...
- LC 656. Coin Path 【lock, Hard】
Given an array A (index starts at 1) consisting of N integers: A1, A2, ..., AN and an integer B. The ...
- 收集的21个优秀的学习资源Kotlin
一.教程 1.The Kotlin Website Kotlin 官方网站(英文) 2.Kotlin editor Kotlin 在线编辑器 3.Keddit:在开发Android应用程序时学习K ...
- IPv4正则表达式
apache common-httpclient-4.5.2.jar package org.apache.http.conn.util; public class InetAddressUtils ...
- C语言基础:汉诺塔(递归方法)
分析:当只有一个盘子的时候,只需要从将A塔上的一个盘子移到C塔上.当A塔上有两个盘子是,先将A塔上的1号盘子(编号从上到下)移动到B塔上,再将A塔上的2号盘子移动的C塔上,最后将B塔上的小盘子移动到C ...
- 记:倍福(CP2611 Control Panel)了解
型号:CP2611 Control Panel Multitouch 11 为啥选型?嗯!因为不了解,了解了,作为只运行.net客户端窗体程序,谁会选用他,不是说他不好,反而相反,他是很优秀的嵌入式集 ...
- php配置php-fpm启动参数及配置详
php-fpm 启动参数及重要配置详解 约定几个目录 /usr/local/php/sbin/php-fpm/usr/local/php/etc/php-fpm.conf/usr/local/php/ ...
- DNS简单搭建
一.安装服务 设置主机名 [root@localhost named]# hostnamectl set-hostname k1.kk.cn [root@localhost named]# bash ...
- Leetcode之动态规划(DP)专题-53. 最大子序和(Maximum Subarray)
Leetcode之动态规划(DP)专题-53. 最大子序和(Maximum Subarray) 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. ...
- TensorFlow实战第六课(过拟合)
本节讲的是机器学习中出现的过拟合(overfitting)现象,以及解决过拟合的一些方法. 机器学习模型的自负又表现在哪些方面呢. 这里是一些数据. 如果要你画一条线来描述这些数据, 大多数人都会这么 ...