/// <summary> /// 获取存储节点 /// </summary> /// <param name="groupName">组名,如果没有组名由服务器自动分配</param> /// <returns>存储节点实体类</returns> public static StorageNode GetStorageNode(string groupName) { if (string.IsNullOrEmpty(groupName)) { using (var trackerRequest = QUERY_STORE_WITHOUT_GROUP_ONE.CreateRequest()) { var trackerResponse = new QUERY_STORE_WITHOUT_GROUP_ONE.Response(trackerRequest.GetTrackerResponse()); var storeEndPoint = new IPEndPoint(IPAddress.Parse(trackerResponse.IpStr), trackerResponse.Port); Console.WriteLine($"{DateTime.Now.ToString("yyyyMMdd hh:mm:ss:fff")} => GetStorageNode(tracker = {trackerResponse.IpStr},store = {storeEndPoint.Address})");//log var result = new StorageNode { GroupName = trackerResponse.GroupName, EndPoint = storeEndPoint, StorePathIndex = trackerResponse.StorePathIndex }; return(result); } } else { using (var trackerRequest = QUERY_STORE_WITH_GROUP_ONE.CreateRequest(groupName)) { var trackerResponse = new QUERY_STORE_WITH_GROUP_ONE.Response(trackerRequest.GetTrackerResponse()); var storeEndPoint = new IPEndPoint(IPAddress.Parse(trackerResponse.IpStr), trackerResponse.Port); Console.WriteLine($"{DateTime.Now.ToString("yyyyMMdd hh:mm:ss:fff")} => GetStorageNode(tracker = {trackerResponse.IpStr},store = {storeEndPoint.Address})");//log var result = new StorageNode { GroupName = trackerResponse.GroupName, EndPoint = storeEndPoint, StorePathIndex = trackerResponse.StorePathIndex }; return(result); } } }
/// <summary> /// 获取存储节点 /// </summary> /// <param name="groupName">组名</param> /// <returns>存储节点实体类</returns> /// 07-09 更改代码以支持不再需要传入groupName来做存储 public static StorageNode GetStorageNode(string groupName = null) { FDFSRequest trackerRequest = string.IsNullOrEmpty(groupName) ? QUERY_STORE_WITH_GROUP_ONE.Instance.GetRequest() : QUERY_STORE_WITH_GROUP_ONE.Instance.GetRequest(groupName); QUERY_STORE_WITH_GROUP_ONE.Response trackerResponse = new QUERY_STORE_WITH_GROUP_ONE.Response(); trackerRequest.GetResponse(trackerResponse); IPEndPoint storeEndPoint = new IPEndPoint(IPAddress.Parse(trackerResponse.IPStr), trackerResponse.Port); StorageNode result = new StorageNode(); result.GroupName = trackerResponse.GroupName; result.EndPoint = storeEndPoint; result.StorePathIndex = trackerResponse.StorePathIndex; return result; }
/// <summary> /// 获取存储节点 /// </summary> /// <param name="groupName">组名</param> /// <returns>存储节点实体类</returns> public static StorageNode GetStorageNode(string groupName) { FDFSRequest trackerRequest = QUERY_STORE_WITH_GROUP_ONE.Instance.GetRequest(groupName); QUERY_STORE_WITH_GROUP_ONE.Response trackerResponse = new QUERY_STORE_WITH_GROUP_ONE.Response(trackerRequest.GetResponse()); IPEndPoint storeEndPoint = new IPEndPoint(IPAddress.Parse(trackerResponse.IPStr), trackerResponse.Port); StorageNode result = new StorageNode(); result.GroupName = trackerResponse.GroupName; result.EndPoint = storeEndPoint; result.StorePathIndex = trackerResponse.StorePathIndex; return(result); }
public static async Task <StorageNode> GetStorageNodeAsync(string groupName) { var responseBuffer = await QUERY_STORE_WITH_GROUP_ONE.Instance.GetRequest(new object[] { groupName }).GetResponseAsync(); var response = new QUERY_STORE_WITH_GROUP_ONE.Response(responseBuffer); var point = new IPEndPoint(IPAddress.Parse(response.IPStr), response.Port); return(new StorageNode { GroupName = response.GroupName, EndPoint = point, StorePathIndex = response.StorePathIndex }); }
public static StorageNode GetStorageNode(string groupName) { QUERY_STORE_WITH_GROUP_ONE.Response response = new QUERY_STORE_WITH_GROUP_ONE.Response( QUERY_STORE_WITH_GROUP_ONE.Instance.GetRequest(new object[] { groupName }).GetResponse()); IPEndPoint point = new IPEndPoint(IPAddress.Parse(response.IPStr), response.Port); return(new StorageNode { GroupName = response.GroupName, EndPoint = point, StorePathIndex = response.StorePathIndex }); }
/// <summary> /// 获取存储节点 /// </summary> /// <param name="groupName">组名</param> /// <returns>存储节点实体类</returns> public static StorageNode GetStorageNode(string groupName) { var trackerRequest = QUERY_STORE_WITH_GROUP_ONE.Instance.GetRequest(groupName); var trackerResponse = new QUERY_STORE_WITH_GROUP_ONE.Response(trackerRequest.GetResponse()); var storeEndPoint = new IPEndPoint(IPAddress.Parse(trackerResponse.IpStr), trackerResponse.Port); var result = new StorageNode { GroupName = trackerResponse.GroupName, EndPoint = storeEndPoint, StorePathIndex = trackerResponse.StorePathIndex }; return(result); }