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);
         }
     }
 }
        public override FDFSRequest GetRequest(params object[] paramList)
        {
            QUERY_STORE_WITHOUT_GROUP_ONE queryStoreWithGroupOne = new QUERY_STORE_WITHOUT_GROUP_ONE();

            queryStoreWithGroupOne.BodyBuffer = new byte[0];
            queryStoreWithGroupOne.Header     = new FDFSHeader(0, FDFSConstants.TRACKER_PROTO_CMD_SERVICE_QUERY_STORE_WITHOUT_GROUP_ONE, 0);
            return(queryStoreWithGroupOne);
        }