当前位置: 首页>>代码示例>>C#>>正文


C# IClientAPI.SendNameReply方法代码示例

本文整理汇总了C#中IClientAPI.SendNameReply方法的典型用法代码示例。如果您正苦于以下问题:C# IClientAPI.SendNameReply方法的具体用法?C# IClientAPI.SendNameReply怎么用?C# IClientAPI.SendNameReply使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IClientAPI的用法示例。


在下文中一共展示了IClientAPI.SendNameReply方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: HandleUUIDNameRequest

        void HandleUUIDNameRequest(UUID uuid, IClientAPI client)
        {
//            m_log.DebugFormat(
//                "[USER MANAGEMENT MODULE]: Handling request for name binding of UUID {0} from {1}", 
//                uuid, remote_client.Name);

            if (m_Scenes[0].LibraryService != null && (m_Scenes[0].LibraryService.LibraryRootFolder.Owner == uuid))
            {
                client.SendNameReply(uuid, "Mr", "OpenSim");
            }
            else
            {
                string[] names = new string[2];
                if (TryGetUserNamesFromCache(uuid, names))
                {
                    client.SendNameReply(uuid, names[0], names[1]);
                    return;
                }

                // Not found in cache, queue continuation
                m_ServiceThrottle.Enqueue("name", uuid.ToString(),  delegate
                {
                    //m_log.DebugFormat("[YYY]: Name request {0}", uuid);

                    // As least upto September 2013, clients permanently cache UUID -> Name bindings.  Some clients
                    // appear to clear this when the user asks it to clear the cache, but others may not.
                    //
                    // So to avoid clients
                    // (particularly Hypergrid clients) permanently binding "Unknown User" to a given UUID, we will 
                    // instead drop the request entirely.
                    if (TryGetUserNames(uuid, names))
                        client.SendNameReply(uuid, names[0], names[1]);
//                    else
//                        m_log.DebugFormat(
//                            "[USER MANAGEMENT MODULE]: No bound name for {0} found, ignoring request from {1}", 
//                            uuid, client.Name);
                });
            }
        }
开发者ID:SignpostMarv,项目名称:opensim,代码行数:39,代码来源:UserManagementModule.cs

示例2: HandleUUIDNameRequest

 public void HandleUUIDNameRequest(UUID uuid, IClientAPI remote_client)
 {
     UserAccount account = m_scene.UserAccountService.GetUserAccount(m_scene.RegionInfo.AllScopeIDs, uuid);
     if (account != null)
     {
         remote_client.SendNameReply(uuid, account.Name);
     }
     else
     {
         IScenePresence presence;
         if ((presence = Scene.GetScenePresence(uuid)) != null)
         {
             remote_client.SendNameReply(uuid, presence.Name);
         }
     }
 }
开发者ID:emperorstarfinder,项目名称:My-Aurora-Sim,代码行数:16,代码来源:ScenePresence.cs

示例3: HandleUUIDNameRequest

        public void HandleUUIDNameRequest(UUID uuid, IClientAPI remote_client)
        {
            if (LibraryService != null && (LibraryService.LibraryRootFolder.Owner == uuid))
            {
                remote_client.SendNameReply(uuid, "Mr", "OpenSim");
            }
            else
            {
                string[] names = GetUserNames(uuid);
                if (names.Length == 2)
                {
                    remote_client.SendNameReply(uuid, names[0], names[1]);
                }

            }
        }
开发者ID:shangcheng,项目名称:Aurora,代码行数:16,代码来源:Scene.PacketHandlers.cs

示例4: HandleUUIDNameRequest

        void HandleUUIDNameRequest(UUID uuid, IClientAPI remote_client)
        {
            if (m_Scenes[0].LibraryService != null && (m_Scenes[0].LibraryService.LibraryRootFolder.Owner == uuid))
            {
                remote_client.SendNameReply(uuid, "Mr", "OpenSim");
            }
            else
            {
                string[] names = GetUserNames(uuid);
                if (names.Length == 2)
                {
                    //m_log.DebugFormat("[XXX] HandleUUIDNameRequest {0} is {1} {2}", uuid, names[0], names[1]);
                    remote_client.SendNameReply(uuid, names[0], names[1]);
                }

            }
        }
开发者ID:p07r0457,项目名称:opensim,代码行数:17,代码来源:UserManagementModule.cs

示例5: HandleUUIDNameRequest

        void HandleUUIDNameRequest(UUID uuid, IClientAPI client)
        {
//            m_log.DebugFormat(
//                "[USER MANAGEMENT MODULE]: Handling request for name binding of UUID {0} from {1}",
//                uuid, remote_client.Name);
            if(m_Scenes.Count <= 0)
                return;

            if (m_Scenes[0].LibraryService != null && (m_Scenes[0].LibraryService.LibraryRootFolder.Owner == uuid))
            {
                client.SendNameReply(uuid, "Mr", "OpenSim");
            }
            else
            {
                UserData user;
                /* bypass that continuation here when entry is already available */
                lock (m_UserCache)
                {
                    if (m_UserCache.TryGetValue(uuid, out user))
                    {
                        if (!user.IsUnknownUser && user.HasGridUserTried)
                        {
                            client.SendNameReply(uuid, user.FirstName, user.LastName);
                            return;
                        }
                    }
                }

                // Not found in cache, queue continuation
                m_ServiceThrottle.Enqueue("name", uuid.ToString(),  delegate
                {
                    //m_log.DebugFormat("[YYY]: Name request {0}", uuid);

                    // As least upto September 2013, clients permanently cache UUID -> Name bindings.  Some clients
                    // appear to clear this when the user asks it to clear the cache, but others may not.
                    //
                    // So to avoid clients
                    // (particularly Hypergrid clients) permanently binding "Unknown User" to a given UUID, we will
                    // instead drop the request entirely.
                    if (GetUser(uuid, out user))
                    {
                        client.SendNameReply(uuid, user.FirstName, user.LastName);
                    }
//                    else
//                        m_log.DebugFormat(
//                            "[USER MANAGEMENT MODULE]: No bound name for {0} found, ignoring request from {1}",
//                            uuid, client.Name);
                });
            }
        }
开发者ID:TomDataworks,项目名称:opensim,代码行数:50,代码来源:UserManagementModule.cs

示例6: HandleUUIDNameRequest

 void HandleUUIDNameRequest(UUID uuid, IClientAPI remote_client)
 {
     UserAccount account = remote_client.Scene.UserAccountService.GetUserAccount (null, uuid);
     if(account == null)
     {
         string[] names = m_userFinder.GetUserNames(uuid);
         if(names.Length == 2)
         {
             //MainConsole.Instance.DebugFormat("[XXX] HandleUUIDNameRequest {0} is {1} {2}", uuid, names[0], names[1]);
             remote_client.SendNameReply(uuid, names[0], names[1]);
         }
     }
 }
开发者ID:KSLcom,项目名称:Aurora-HG-Plugin,代码行数:13,代码来源:UserManagementService.cs

示例7: HandleUUIDNameRequest

        void HandleUUIDNameRequest(UUID uuid, IClientAPI client)
        {
//            m_log.DebugFormat(
//                "[USER MANAGEMENT MODULE]: Handling request for name binding of UUID {0} from {1}", 
//                uuid, remote_client.Name);

            if (m_Scenes[0].LibraryService != null && (m_Scenes[0].LibraryService.LibraryRootFolder.Owner == uuid))
            {
                client.SendNameReply(uuid, "Mr", "OpenSim");
            }
            else
            {
                string[] names = new string[2];
                if (TryGetUserNamesFromCache(uuid, names))
                {
                    client.SendNameReply(uuid, names[0], names[1]);
                    return;
                }

                // Not found in cache, queue continuation
                m_ServiceThrottle.Enqueue("name", uuid.ToString(),  delegate
                {
                    //m_log.DebugFormat("[YYY]: Name request {0}", uuid);
                    bool foundRealName = TryGetUserNames(uuid, names);

                    if (names.Length == 2)
                    {
                        if (!foundRealName)
                            m_log.DebugFormat("[USER MANAGEMENT MODULE]: Sending {0} {1} for {2} to {3} since no bound name found", names[0], names[1], uuid, client.Name);

                        client.SendNameReply(uuid, names[0], names[1]);
                    }
                });

            }
        }
开发者ID:JeffCost,项目名称:opensim,代码行数:36,代码来源:UserManagementModule.cs

示例8: HandleUUIDNameRequest

        public void HandleUUIDNameRequest(UUID uuid, IClientAPI remote_client)
        {
            if (uuid == m_userProfileCacheService.LibraryRoot.Owner)
            {
                remote_client.SendNameReply(uuid, "Mr", "OpenSim");
            }
            else
            {
                string[] names = doUUIDNameRequest(uuid);
                if (names.Length == 2)
                {
                    remote_client.SendNameReply(uuid, names[0], names[1]);
                }

            }
        }
开发者ID:AlphaStaxLLC,项目名称:taiga,代码行数:16,代码来源:CommunicationsManager.cs

示例9: HandleUUIDNameRequest

 public void HandleUUIDNameRequest(UUID uuid, IClientAPI remote_client)
 {
     if (LibraryService != null && (LibraryService.LibraryOwner == uuid))
     {
         remote_client.SendNameReply(uuid, LibraryService.LibraryOwnerName[0], LibraryService.LibraryOwnerName[1]);
     }
     else
     {
         UserAccount account = UserAccountService.GetUserAccount(RegionInfo.ScopeID, uuid);
         if (account != null)
         {
             remote_client.SendNameReply(uuid, account.FirstName, account.LastName);
         }
     }
 }
开发者ID:NickyPerian,项目名称:Aurora,代码行数:15,代码来源:Scene.PacketHandlers.cs

示例10: HandleUUIDNameRequest

 void HandleUUIDNameRequest(UUID uuid, IClientAPI remote_client)
 {
     string[] names = GetUserNames (uuid);
     if (names.Length == 2)
     {
         //m_log.DebugFormat("[XXX] HandleUUIDNameRequest {0} is {1} {2}", uuid, names[0], names[1]);
         remote_client.SendNameReply (uuid, names[0], names[1]);
     }
 }
开发者ID:EnricoNirvana,项目名称:Aurora-HG-Plugin,代码行数:9,代码来源:UserManagementService.cs

示例11: HandleUUIDNameRequest

 public void HandleUUIDNameRequest(UUID uuid, IClientAPI remote_client)
 {
     if (uuid == LibraryRoot.Owner)
     {
         remote_client.SendNameReply(uuid, "Mr", "Halcyon");
     }
     else
     {
         doUUIDNameRequest(uuid, delegate(string[] names)
         {
             if (names.Length == 2)
             {
                 remote_client.SendNameReply(uuid, names[0], names[1]);
             }
         }, true);
     }
 }
开发者ID:kf6kjg,项目名称:halcyon,代码行数:17,代码来源:CommunicationsManager.cs


注:本文中的IClientAPI.SendNameReply方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。