Sockets. Como definir uma conexão?
23/05/2003
0
Quando conecto as máquinas, vamos dizer que sejam 3.
No socket consta conexões ativas: 3
Conexão 0 : primeira máquina que logou
Conexão 1: segunda máquina que logou
Conexão 2: terceira máquina que logou
Se eu desconecto a segunda máquina que logou fica assim:
Conexão 0 : primeira máquina que logou
Conexão 1: terceira máquina que logou
Se eu desconecto a primeira máquina que logou fica assim:
Conexão 0: terceira máquina que logou
Isso me gera problemas na hora de desconectar uma determinada máquina pelo server, e também no meu listbox de refresh.
O que eu preciso saber é se tem como depois de as máquinas logadas, definir qual máquina vai estar em qual conexão.
Exemplo:
micro1 conexão 0
micro2 conexão 1
micro3 conexão 2
micro4 conexão 3
micro5 conexão 4
Latrodectrus
Posts
23/05/2003
Latrodectrus
24/05/2003
Juan Basso
24/05/2003
Rafael Heise
como fiz isso ... guardei uma lista das máquinas conctadas...
e ao verificar as conexões, não buscava simplesmente pela coneão, varria o array de conexões e pegava a máquina certa pelo seu ip, pois isso não muda !!! =D ...
abraços...
e depois, um for num array pra ver o ip é muitooo rapido ...
então .... não tem problema....
26/05/2003
Latrodectrus
Pois trabalho com uma rede DHCP onde os ip são configurados automaticamente, mas o host de cada máquina é o mesmo.
26/05/2003
Rafael Heise
masss.. se o host é o mesmo .. .então usa o host...
=)
boa sorte...
26/05/2003
Pamploni Cadé
Fiz um software para minha Lan house e me deparei com esse problema. Já o Resolvi.
Cara se você comprar o cod. fonte do meu software te dou todo o suporte para você resolver esse seu problema.
Desculpa se estou parecendo Mercenário!! Mas é que meu software, para o seu porte, está a preço de banana (R$35,00)
Se ficar interessado é só me passar um e-mail (pamploni@bol.com.br)
Sem mais
Pamploni Cadé
27/05/2003
Rafael Heise
sobre utilização de sockets .....
mas se você quiser.. posso te passar um exemplo de chat que fiz em casa, que usava várias conexões pra conversarem, é o que você quer fazer... então ....
só me dá seu email ...
é de graça.. hehehehehe
27/05/2003
Luza
Talvez vc nao tivesse q se preocupar com o DHCP...
Desculpe a intromissao.
27/05/2003
Latrodectrus
- não posso usar ips fixos por que é o meu modem que serve ips.(não tenho servidor de internet)
Zerneo:
-se puder agradeço muito, meu e-mail é latrodectrus@yahoo.com.br
06/06/2003
Thaisandrade
22/12/2005
Paullsoftware
Fiz um software para minha Lan house e me deparei com esse problema. Já o Resolvi.
Cara se você comprar o cod. fonte do meu software te dou todo o suporte para você resolver esse seu problema.
Desculpa se estou parecendo Mercenário!! Mas é que meu software, para o seu porte, está a preço de banana (R$35,00)
Se ficar interessado é só me passar um e-mail (pamploni@bol.com.br)
Sem mais
Pamploni Cadé[/quote:4f99f7e816]
Desulpem a ignorancia mais ai é [b:4f99f7e816]froid[/b:4f99f7e816], o fórum é para nos ajudarmos não para vender-mos nossos trabalhos em troca de favores... se não quizer ajudar não opine! :x
22/12/2005
Eixox
Então, faça o seguinte, na sua aplicação crie uma pequena variável que fica armazenada no registro. Defina uma valor para cada máquina e seu problema tá resolvido. Cada máquina que entrar em contato, mesmo com um ip diferente você saberá que é.
Isso resolveu o meu problema.
22/12/2005
Pain_elemental
22/12/2005
Thomaz_prg
Supondo que você irá adicionar em um listbox as máquinas que estão se conectando, faça assim, no evento ClientConnect do server:
ListBox1.Items.Add( IntToStr(Socket.SocketHandle) );
No momento em que o cliente desconectar (evento OnClientDisconnect) coloque assim:
if ListBox1.Items.IndexOf( IntToStr(Socket.SocketHandle) ) >= 0 then
ListBox1.Items.Delete(ListBox1.Items.IndexOf( IntToStr(Socket.SocketHandle) ));
Ou seja, ao invés de ficar incrementando e decrementando, use o valor vindo de Socket.SocketHandle para saber quem se conectou e/ou desconectou. Esse valor é único para cada conexão, então dessa forma você manteria o controle tranquilo.
Clique aqui para fazer login e interagir na Comunidade :)