FastDFS 服务启动后第一次上传附件报错

FastDFS 服务启动后第一次上传附件报错:java.net.SocketException: Software caused connection abort: socket write error

  • 第二次上传就ok,方法是没问题的,那么就是初始化相关的问题;
  • 修改配置:有网友提到:(如果客户端服务启动,成功链接到dfs服务器,如果在network_timeout时间内,dfs服务没有接收到任何请求信息,会把这个客户端踢掉!)
     connect_timeout=300
     network_timeout=600
     tracker_server= (ip)
     use_connection_pool = false
     connection_pool_max_idle_time = 3600
     load_fdfs_parameters_from_tracker=false
     use_storage_id = false
     storage_ids_filename = storage_ids.conf
     http.tracker_server_port=11111
    

在这里插入图片描述

  • 这就需要每次启动后给dfs服务发送一些消息;对dfs又研究了一波,发现fastdfs-client-java包的ProtoCommon.java已经提供了一个发送信息的方法,如下:

     public static boolean activeTest(Socket sock)
    
    • 初始化代码:核心代码:java ProtoCommon.activeTest(TRACKERSERVER.getSocket());
      private static TrackerClient TRACKERCLIENT;
      private static TrackerServer TRACKERSERVER;
      private static StorageServer STORAGESERVER;
      private static StorageClient STORAGECLIENT;
      
      static {
          try {
              String classPath = new File(FileManager.class.getResource("/").getFile()).getCanonicalPath();
      
              String fdfsClientConfigFilePath = classPath + File.separator+ FastDfsFileManagerConfig.fdfs_client_conf;
              ClientGlobal.init(fdfsClientConfigFilePath);
              TRACKERCLIENT = new TrackerClient();
              TRACKERSERVER = TRACKERCLIENT.getConnection();
              ProtoCommon.activeTest(TRACKERSERVER.getSocket());
          } catch (Exception e) {
              e.printStackTrace();
          }
      }
      
      
  • 然后重启再测试上传

  • FastDFS介绍博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王子様~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值