Fórum procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread) #299302
13/10/2005
0
mas como eu pego o ip do cliente nessa procedure Execute do IdTCPServer1 do Indy?
Eu tava pegando ´AThread.Connection.LocalName´
mas tá retornando o IP do servidor.. como pego o localhost do cliente que tá executando esse Execute?
Amon-ra
Curtir tópico
+ 0Posts
13/10/2005
Massuda
Gostei + 0
13/10/2005
Amon-ra
criei uma tabela ´online´ com:
usuario.. nome.. ip/host
Queria buscar na tabela o nome atraves do host...
Estou executando um ´thread´ dentro desse ´Execute´ que faz o trabalho..
procedure TForm1.IdTCPServer1Execute(AThread: TIdPeerThread); var cm : checamsg; begin cm := checamsg.Create(true); cm.linha := AThread.Connection.ReadLn(LF, 500); cm.ok(@AThread); cm.FreeOnTerminate := true; cm.Priority := tpNormal; cm.resume; end;
Aí o thread ja tá interpretando legal a mensagem e tá rodando rápido.. pq nao usei ´while´ ou outros loops como normalmente acho que fazem..
Problema que minha identificação do usuário tava:
Query.Active:=false; Query.SQL.Text := ´Select usuario from online where ip=´´´+AThread2.Connection.LocalName+´´´´; Query.Active:=true; if not query.Eof then begin usuario := Query.FieldValues[´usuario´]; end;
Eu mais burro nao vi o erro pq tava testando sozinho.. agora que comecei a testar com mais computadores ao mesmo tempo é que notei que não se detecta o ip assim..
Valeu
Gostei + 0
13/10/2005
Massuda
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)