Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

imbertti

chat e usuários

Recommended Posts

Galerinha,

 

Estou personalizando um site e até o momento deu tudo certo.

O único problema que está dando é com os usuários inativos... eles não são retirados do chat... :angry:

quando o cara clica em "exit" sai perfeitamente.... quando fecha o browser tb não sai...

 

Tem um global.asa que controla tudo, mas acho que não tem essa função... como eu deveria fazer isso? como expirar a sessão do cara em 10min inativo por exemplo?

 

valew!

 

 

ta ae o global.asa

 

<script LANGUAGE=VBScript RUNAT=Server>

 

ReDim TopicName(0)

ReDim TopicDescription(0)

 

Sub Application_OnStart

Application("Title") = "ASP Chat"

CreateRoom "ASP Joint", "ASP fiends sharing dope"

CreateRoom "ASP Joint2", "ASP fiends sharing dope"

CreateRoom "ASP Joint3", "ASP fiends sharing dope"

 

Application("TopicNames") = TopicName

Application("TopicDescriptions") = TopicDescription

 

Dim Users()

Redim Users(1)

Dim UsersGroup()

Redim UsersGroup(1)

Application("Users") = Users

Application("UsersGroup") = UsersGroup

 

Dim UsersIP()

Redim UsersIP(1)

Dim UsersTimeOn()

Redim UsersTimeOn(1)

Dim UsersIdleOn()

Redim UsersIdleTime(1)

Application("UsersIP") = UsersIP

Application("UsersTimeOn") = UsersTimeOn

Application("UsersIdleTime") = UsersIdleTime

 

End Sub

 

Sub Session_OnStart

Session.Timeout=2

End Sub

 

Sub Session_OnEnd

Topic = Session("Topic")

Name = Session("Name")

 

Users = Application("Users")

UsersIP = Application("UsersIP")

UsersTimeOn = Application("UsersTimeOn")

UsersIdleTime = Application("UsersIdleTime")

 

Match = 1

If IsArray(Users) Then

UsersGroup = Application("UsersGroup")

NumOfUsers = UBound(Users)

If NumOfUsers = 1 Then

Set Application("Users") = Nothing

Set Application("UsersGroup") = Nothing

Set Application("UsersIP") = Nothing

Set Application("UsersIdleTime") = Nothing

Set Application("UsersTimeOn") = Nothing

Else

ReDim UpdatedUsers(1)

ReDim UpdatedUsersGroup(1)

ReDim UpdatedUsersIP(1)

ReDim UpdatedUsersTimeOn(1)

ReDim UpdatedUsersIdleTime(1)

For I = 1 To NumOfUsers

If Name <> Users(I) Then

ReDim Preserve UpdatedUsers(Match)

ReDim Preserve UpdatedUsersGroup(Match)

UpdatedUsers(Match) = Users(I)

UpdatedUsersGroup(Match) = UsersGroup(I)

ReDim Preserve UpdatedUsersIP(Match)

ReDim Preserve UpdatedUsersTimeOn(Match)

ReDim Preserve UpdatedUsersIdleTime(Match)

UpdatedUsersIP(Match) = UsersIP(I)

UpdatedUsersTimeOn(Match) = UsersTimeOn(I)

UpdatedUsersIdleTime(Match) = UsersIdleTime(I)

Match = Match + 1

End If

Next

Application("Users") = UpdatedUsers

Application("UsersGroup") = UpdatedUsersGroup

Application("UsersIP") = UpdatedUsersIP

Application("UsersTimeOn") = UpdatedUsersTimeOn

Application("UsersIdleTime") = UpdatedUsersIdleTime

End If

End If

 

 

Set fileObject = Server.CreateObject("Scripting.FileSystemObject")

textFile = Application("filebase") & Replace(Topic, "+", "_") & ".txt"

'If fileObject.FileExists(textfile) Then

Set inStream = fileObject.OpenTextFile(textFile,1,TRUE,FALSE)

file = inStream.ReadAll

Set inStream = Nothing

 

file = file & "<FONT SIZE=2 FACE='Vedana,Arial' Color=#ff0000><b>***[" & session("name") & " sai da sala (" & Now & ")]***</b></FONT><br>"

Set outStream = fileObject.CreateTextFile(textFile,True)

outStream.WriteLine(file)

outStream.Close

Set outStream = Nothing

'End If

 

Session("Enter") = True

End Sub

 

Sub CreateRoom(Name, Description)

nLen = UBound(TopicName)+1

ReDim Preserve TopicName(nLen)

TopicName(nLen) = Name

ReDim Preserve TopicDescription(nLen)

TopicDescription(nLen) = Description

End Sub

</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

no Sub Session_OnEnd tente colocar session.abandon

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei lá

 

Sub Session_OnEnd

Topic = Session("Topic")

Name = Session("Name")

Session.Abandon

 

mas não deu muito certo não :blink:

 

Teria como fazer isso com tempo? tipo 10min sem mexer o cara cai?

 

Esse chat não usa BD... apenas um .txt, mas também tá guardando um monte de conversa antiga.... eita! <_<

 

 

valeu

Henrique

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara teoricamente esta linhaSession.Timeout=2deveria fazer uma pessoa que nao mexa por 2 minutos sair da lista

Compartilhar este post


Link para o post
Compartilhar em outros sites

são os velhos pepinos que aparecem com o global.asa né....o mais seguro é usar bd mesmo... :blink: de qualquer forma, brigadão!

com certeza com bd é melhor e mais seguro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Revivendo o tópico...Neste caso seria possível limitar um número de usuários neste chat?tipo, se tiverem mais de 20 ser direcionado para outra página....valewHenrique

Compartilhar este post


Link para o post
Compartilhar em outros sites

com db você pode tefinir praticamente tudo, basta programar direito...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.