Ir para conteúdo

POWERED BY:

Arquivado

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

-_KIKO_-

Problema com Winsock e For

Recommended Posts

http://forum.imasters.com.br/public/style_emoticons/default/cry.gif Pessoal eu to tentando montar um sistema em Winsock pra checar uns 12 servidores que eu tenho que ficar monitorando o acesso dos serviços deles...PORÉM eu fiz algo em VBsegue a ideia:

porta = Text3.Textip = Text2.TextFor x = 1 To portaWinsock1.RemotePort = portaWinsock1.RemoteHost = ipWinsock1.ConnectIf Winsock1.State = 7 Then Text1.Text = Text1.Text & " - Porta " & x & " aceita!" Winsock1.CloseElseIf Winsock1.State = 8 Or Winsock1.State = 9 Then Winsock1.CloseEnd IfNext

Eu checo 21 portas em 12 servidores.Estas 21 portas rodam serviços diferentes claro isso NAO É meu problemaO problema é que o Winsock leva em torno de 300 a 500ms pra conectar nessas máquinas e o FOR X NAO ESPERA o winsock dar "Refused" ou "Connection reset by peer"...o FOR é MUITO mais rapido que o Winsock, então o Winsock fica em estado 6 (Connecting...) e da erro...O for tinha que esperar o winsock zuar pra poder passar pro outroalguem sabe? :(Do While? será?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma forma pouco "profissional" mas muito usado é um Loop "vazio". Dentro de seu laço FOR crie outro apenas para "passar tempo".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existe uma api (SLEEP) que faz seu programa ter uma pausa, não sei se pode funcionar, mas...

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
para user é:

Sleep milisegundos

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.