USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Erro 10055 de Winsock (O bicho é brabo)
vaini
PARAPUÃ
SP - BRASIL
Postada em 05/01/2006 15:02 hs            
E ai galera... Querem um problema??? Lá vai...
 
Estou construindo um software para controle de Cyber Cafes, que vai controlar o tempo de cada micro, e de acordo com o tempo vai calcular o valor a ser cobrado. O ponto principal do programa, é que eu deixo as maquinas que serao usadas com o teclado e mouse bloqueado por meio da função BlockInput e o monitor desligado. Quando a pessoa acessa, eu conecto pelo servidor (que usa winsock, claro) e o programa da os comandos para destravar o pc e a pessoa usa. O que acontece na real, é que o programa foi contruido para um cyber e vai controlar 60 micros. Para nao ter que digitar 60 vezes o mesmo codigo, eu criei tudo por matrizes, incluindo uma matriz de winsocks. Tudo funciona perfeitamente. Mas agora é que vem o problema.
No meio do programa eu criei um timer, de 30 segundos, que verifica se a conexao esta de pe ou nao. O codigo é assim:
 
For i = 1 to 60
   If WSock(i).State <> 7 Then
      WSock(i).Close
      WSock(i).Connect TabelaIps(i), 8811
   End If
Next
 
Ele verifica de 30 em 30 segundos, todos os micros. Aquele que nao estiver conectado, ele vai tentar obter a conexao. Acontece que depois de um periodo de
tempo, o programa é finalizado por causa de um erro, que é o seguinte:
 
Run-time error '10055'
No buffer space is available
 
Estou ficando louco com esse erro.
Por favor, preciso alguém me ajude..........
Desde já agradeço aos parceiros do Forum.

Fernando Cesar Vaini

Se voce morrer daqui a 5 minutos, vai levar todo o seu conhecimento. Antes que isso aconteça, compartilhe-o!!!

     
kerplunk
Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 06/01/2006 06:39 hs         
É o seguinte. Cada vez que vc conecta com o winsock, ele aloca memória, INDEPENDENTE de ter sido fechado. Como vc está fazendo o mesmo procedimento a cada 30 segundos e são 60 máquinas, em coisa de uns 5 - 10 minutos vai encher o stack... Pra verificar a conexão winsock o ideal é usar a propriedade State.
     
vaini
não registrado
Postada em 06/01/2006 08:53 hs   
Kerpplunk, agradeço demais pela sua resposta.
 
Em todo o caso, desculpe minha ignorancia, mas vc tem como me ajudar com essa propriedade State??? Nunca vi isso.
 
Obrigado
     
vaini
PARAPUÃ
SP - BRASIL
Postada em 07/01/2006 06:20 hs            
Alguem mais tem alguma idéia?
 
Por favor galera...... valew.....

Fernando Cesar Vaini

Se voce morrer daqui a 5 minutos, vai levar todo o seu conhecimento. Antes que isso aconteça, compartilhe-o!!!

     
vaini
PARAPUÃ
SP - BRASIL
Postada em 17/01/2006 13:08 hs            
Ae galera...consegui resolver. O problema é que o tempo que o wsock usada para fazer as 60 conexoes era menos de 1 segundo. Quando eu aumentei o tempo para 10 segundos entre uma tentativa e outra resolveu o problema.

Fernando Cesar Vaini

Se voce morrer daqui a 5 minutos, vai levar todo o seu conhecimento. Antes que isso aconteça, compartilhe-o!!!

     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página