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

com.csource.fastdfs.test.TestClient 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.StorageClient;
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.18
*/
public class TestClient
{
	private TestClient()
	{
	}
	
	/**
	* 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]; try { ClientGlobal.init(conf_filename); System.out.println("network_timeout=" + ClientGlobal.g_network_timeout + "ms"); System.out.println("charset=" + ClientGlobal.g_charset); long startTime; String group_name; String remote_filename; ServerInfo[] servers; 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; } */ StorageClient client = new StorageClient(trackerServer, storageServer); byte[] file_buff; NameValuePair[] meta_list; String[] results; String master_filename; String prefix_name; String file_ext_name; String generated_slave_filename; int errno; meta_list = new NameValuePair[4]; meta_list[0] = new NameValuePair("width", "800"); meta_list[1] = new NameValuePair("heigth", "600"); meta_list[2] = new NameValuePair("bgcolor", "#FFFFFF"); meta_list[3] = new NameValuePair("author", "Mike"); file_buff = "this is a test".getBytes(ClientGlobal.g_charset); System.out.println("file length: " + file_buff.length); group_name = null; 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; } results = client.upload_file(null, f.length(), new UploadLocalFileSender(local_filename), file_ext_name, meta_list); if (results != null) { group_name = results[0]; remote_filename = results[1]; System.out.println("group name: " + group_name + ", remote filename: " + remote_filename); System.out.println(client.get_file_info(group_name, remote_filename)); master_filename = remote_filename; prefix_name = "-part3"; startTime = System.currentTimeMillis(); results = client.upload_file(group_name, master_filename, prefix_name, f.length(), new UploadLocalFileSender(local_filename), file_ext_name, meta_list); System.out.println("upload_file time used: " + (System.currentTimeMillis() - startTime) + " ms"); if (results != null) { System.err.println("slave file group_name: " + results[0] + ", remote_filename: " + results[1]); generated_slave_filename = ProtoCommon.genSlaveFilename(master_filename, prefix_name, file_ext_name); if (!generated_slave_filename.equals(results[1])) { System.err.println("generated slave file: " + generated_slave_filename + "\n != returned slave file: " + results[1]); } System.err.println(client.get_file_info(results[0], results[1])); } } else { System.err.println("Upload file fail, error no: " + errno); } storageServer = tracker.getFetchStorage(trackerServer, group_name, remote_filename); 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