Re: Lobby Problem

  •  06-17-2009, 1:59 AM

    Re: Lobby Problem

    My Complete Code looks like this,
    1. $dir$bin\CuteChat.AppCode.dll   
    2. $dir$bin\CuteChat.dll   
    3. ==>END SYSTEMREFERENCE   
    4. imports System.Collections   
    5. imports CuteChat   
    6. Public Class MyChatProvider   
    7.   inherits CuteChat.ChatProvider     
    8.   Dim pbw as New SiennEngine.pbw   
    9.   Dim Constring as string = pbw.get_constring()   
    10.   Dim Cid as string = pbw.get_cid_currentdomain()   
    11.      
    12.   Dim prefix as string = Cid & "U_"  
    13.   Dim userId as string = pbw.get_customerId_Cookie(httpcontext.current.session)   
    14.   Public Overloads Overrides Function GetConnectionString() As String     
    15.     Dim Retstring as string = Constring    
    16.     Return Retstring    
    17.   End Function  
    18.   Public Overloads Overrides Function FindUserLoginName(ByVal nickName As StringAs String  
    19.     Dim Retstring as string = ""    
    20.     Dim Query as string = "Select UserName from " & prefix & "users where Id = " & UserId   
    21.     Dim Con As New SqlConnection(constring)   
    22.     
    23.     Dim Com As New SqlCommand(Query, Con)   
    24.     try   
    25.     Con.Open()   
    26.     Dim Reader As SqlDataReader = Com.ExecuteReader()   
    27.     while Reader.Read()   
    28.       Retstring=reader(0)   
    29.     End While  
    30.     catch    
    31.     end try   
    32.     Con.Close()      
    33.     Return Retstring    
    34.   End Function  
    35.   Public Overloads Overrides Function GetLogonIdentity() As AppChatIdentity   
    36.     'need to find the information of current user. Return null if user is anonymous.   
    37.        
    38.     Dim loginname As String = ""  
    39.     Dim nickname As String = ""  
    40.     Dim Query as string = "Select UserName, NickName from " & prefix & "users where Id = " & UserId   
    41.     Dim Con As New SqlConnection(constring)   
    42.     
    43.     Dim Com As New SqlCommand(Query, Con)   
    44.     try   
    45.     Con.Open()   
    46.     Dim Reader As SqlDataReader = Com.ExecuteReader()   
    47.     while Reader.Read()   
    48.       loginname=reader(0)   
    49.       nickname =Reader(1)   
    50.       if Nickname is nothing or nickname = "" then nickname = loginname   
    51.     End While  
    52.     catch    
    53.     nickname = loginname   
    54.     end try   
    55.     Con.Close()      
    56.     Return New AppChatIdentity(nickname, False, ToUserId(loginname), HttpContext.Current.Request.UserHostAddress)   
    57.   End Function  
    58.   Public Overloads Overrides Function GetUserInfo(ByVal loginName As StringByRef nickName As StringByRef isAdmin As BooleanAs Boolean  
    59.         ' , if the loginName is invalid.   
    60.         'otherwise set the nickName and isAdmin , and return ture   
    61.     Dim userType as integer =0   
    62.   
    63.     Dim Query as string = "Select NickName,UserType from " & prefix & "users where username='" & loginName & "'"  
    64.     Dim Con As New SqlConnection(constring)   
    65.     
    66.     Dim Com As New SqlCommand(Query, Con)   
    67.     try   
    68.     Con.Open()   
    69.     Dim Reader As SqlDataReader = Com.ExecuteReader()   
    70.     while Reader.Read()   
    71.       UserType=reader(1)   
    72.       nickname =Reader(0)   
    73.          
    74.          
    75.       if Nickname is nothing or nickname = "" then nickname = loginname   
    76.     End While  
    77.     catch    
    78.     nickname = loginname   
    79.     end try   
    80.     Con.Close()     
    81.     If UserType =1 then   
    82.       isAdmin = True  
    83.     else   
    84.       isAdmin = False  
    85.     end if   
    86.         
    87.     Return true   
    88.   End Function  
    89.   Public Overloads Overrides Function ValidateUser(ByVal loginName As StringByVal password As StringAs Boolean  
    90.     'check the username/password .    
    91.     'if valid , set the cookie.   
    92.   return True  
    93. End Function  
    94. End Class  
    95. ==>END IMPORTS   
    96. CuteChat.ChatProvider.Instance = New MyChatProvider()   
    97. try   
    98. CuteChat.ChatSystem.Start(New CuteChat.AppSystem())   
    99. catch   
    100. end try   
    101.   
    102. Dim lobbies As New ArrayList()   
    103. For Each Lobby as LobbyInfo In ChatApi.GetLobbyInfoArray()   
    104.       lobbies.Add(Lobby)   
    105. Next    
    106. if CuteChat.ChatWebUtility.CurrentIdentityIsAdministrator then   
    107. Dim Hyperlink1 as new Hyperlink   
    108. Hyperlink1.Id="Hyperlink1"  
    109. Hyperlink1.NavigateUrl="/CuteSoft_Client/CuteChat/ChatAdmin/"  
    110. Hyperlink1.text="Chat admin"  
    111. Controlplace.controls.add(Hyperlink1)   
    112. end if   
    113.   
    114. Controlplace.controls.add(New Literalcontrol("<br><script src=""/CuteSoft_Client/CuteChat/IntegrationUtility.js.aspx""></script>"))   
    115. Controlplace.controls.add(New Literalcontrol("<br><img src=""/CuteSoft_Client/CuteChat/images/icon_invite.gif"" align=absmiddle>"))   
    116. Controlplace.controls.add(New Literalcontrol("<a href=""###"" onclick=""BLOCKED SCRIPTChat_OpenMessenger()"">Messenger</a>"))  

    We have our own software to create visual basic source so te code is a little different then typing in visual studio.
     
    The control I typed here is somewhere placed on the site.
    There is as try/catch around"CuteChat.ChatSystem.Start(New CuteChat.AppSystem())" so I don't get an error. But the problem isn't solved, only one user at the time can chat. If I'm logging in with 2 users on different browsers(FF and IE) the second user get the message he already loged in. When I logoff the first user, the second user gets the name of the first one.
    So I think only one chatsession at the time works.
     
    I hope you can see something on my code
View Complete Thread