All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.csource.fastdfs.test.TestClient1 Maven / Gradle / Ivy

The newest version!
/**
* Copyright (C) 2008 Happy Fish / YuQing
*
* FastDFS Java Client may be copied only under the terms of the GNU Lesser
* General Public License (LGPL).
* Please visit the FastDFS Home Page http://www.csource.org/ for more detail.
**/

package com.csource.fastdfs.test;

import java.io.File;
import java.net.InetSocketAddress;

import com.csource.common.NameValuePair;
import com.csource.fastdfs.ClientGlobal;
import com.csource.fastdfs.ProtoCommon;
import com.csource.fastdfs.ServerInfo;
import com.csource.fastdfs.StorageClient1;
import com.csource.fastdfs.StorageServer;
import com.csource.fastdfs.TrackerClient;
import com.csource.fastdfs.TrackerServer;

/**
* client test
* @author Happy Fish / YuQing
* @version Version 1.16
*/
public class TestClient1
{
	private TestClient1()
	{
	}
	
	/**
	* entry point
	* @param args comand arguments
	*     
  • args[0]: config filename
*
  • args[1]: local filename to upload
*/ public static void main(String args[]) { if (args.length < 2) { System.out.println("Error: Must have 2 parameters, one is config filename, " + "the other is the local filename to upload"); return; } System.out.println("java.version=" + System.getProperty("java.version")); String conf_filename = args[0]; String local_filename = args[1]; String group_name; try { ClientGlobal.init(conf_filename); System.out.println("network_timeout=" + ClientGlobal.g_network_timeout + "ms"); System.out.println("charset=" + ClientGlobal.g_charset); String file_id; TrackerClient tracker = new TrackerClient(); TrackerServer trackerServer = tracker.getConnection(); StorageServer storageServer = null; /* storageServer = tracker.getStoreStorage(trackerServer); if (storageServer == null) { System.out.println("getStoreStorage fail, error code: " + tracker.getErrorCode()); return; } */ StorageClient1 client = new StorageClient1(trackerServer, storageServer); byte[] file_buff; NameValuePair[] meta_list; String master_file_id; String prefix_name; String file_ext_name; String slave_file_id; String generated_slave_file_id; int errno; group_name = "group1"; StorageServer[] storageServers = tracker.getStoreStorages(trackerServer, group_name); if (storageServers == null) { System.err.println("get store storage servers fail, error code: " + tracker.getErrorCode()); } else { System.err.println("store storage servers count: " + storageServers.length); for (int k=0; k 0 && local_filename.length() - nPos <= ProtoCommon.FDFS_FILE_EXT_NAME_MAX_LEN + 1) { file_ext_name = local_filename.substring(nPos+1); } else { file_ext_name = null; } file_id = client.upload_file1(null, f.length(), new UploadLocalFileSender(local_filename), file_ext_name, meta_list); if (file_id != null) { System.out.println("file id: " + file_id); System.out.println(client.get_file_info1(file_id)); master_file_id = file_id; prefix_name = "-part3"; slave_file_id = client.upload_file1(master_file_id, prefix_name, f.length(), new UploadLocalFileSender(local_filename), file_ext_name, meta_list); if (slave_file_id != null) { System.err.println("slave file_id: " + slave_file_id); generated_slave_file_id = ProtoCommon.genSlaveFilename(master_file_id, prefix_name, file_ext_name); if (!generated_slave_file_id.equals(slave_file_id)) { System.err.println("generated slave file: " + generated_slave_file_id + "\n != returned slave file: " + slave_file_id); } } } else { System.err.println("Upload file fail, error no: " + errno); } storageServer = tracker.getFetchStorage1(trackerServer, file_id); if (storageServer == null) { System.out.println("getFetchStorage fail, errno code: " + tracker.getErrorCode()); return; } /* for test only */ System.out.println("active test to storage server: " + ProtoCommon.activeTest(storageServer.getSocket())); storageServer.close(); /* for test only */ System.out.println("active test to tracker server: " + ProtoCommon.activeTest(trackerServer.getSocket())); trackerServer.close(); } catch(Exception ex) { ex.printStackTrace(); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy