Ejemplo n.º 1
0
 /// <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);
         }
     }
 }
Ejemplo n.º 2
0
 /// <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;
 }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        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
            });
        }
Ejemplo n.º 5
0
        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
            });
        }
Ejemplo n.º 6
0
        /// <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);
        }