|
Postada em 16/08/2005 13:38 hs
Olá a todos. Antes, desculpem pelo texto meio grande, mas é pra ficar bem claro o meu problema. Fiz um sistema pra um Cyber aqui da minha cidade, pra controlar o tempo dos clientes. Nos meus testes, funciona tudo muito bem. O problema é na prática. Aconteciam erros que pra mim não faziam sentido. Então fiz uma rotina que escrevia em um arquivo de texto informações sobre o erro, sempre que um ocorria, com alguns dados que pudessem me ajudar a descobrir o que acontecia de fato. Vi que está sendo como se o array de winsock estivesse "trocando as bolas". A minha rotina de resposta ao cliente, é mais ou menos assim:
Private Sub Winsock_DataArrival(Index As Integer, ByVal bytesTotal As Long) Dim Texto As String, Sock As Winsock, R As String Set Sock = Winsock(Index) Sock.GetData Texto, vbString ... Sock.SendData R End Sub
"R" é a variável que eu uso pra montar a resposta. "Sock" é só pra eu não ter que ficar escrevendo Winsock(Index) o tempo todo. Pois então, na hora do vamos ver, com as 10 máquinas clientes ligadas e conectadas, o servidor acaba misturando as respostas. Acontece muito de ele enviar a resposta de duas máquinas diferentes pra uma só. Vou exemplificar: é como se, quando ele processa a resposta da máquina A, e a máquina B faz uma requisição, ele junta a resposta da A e da B num "R" só e envia pra uma das duas. Entenderam? Apesar de a variável ser local, é como se, no momento em que duas máquinas fazem uma requisição, ele trabalhasse usando o mesmo valor ao invés de criar uma nova "instância", se é que essa é a palavra. Alguém já teve um problema parecido? Alguma idéia de como posso resolver?
Obrigado.
|
|
|
|
Allan Novaes
não registrado
|
|
ENUNCIADA !
|
|
|
Postada em 11/10/2005 01:17 hs
eu ja tenhu montando um server desse,, eh o seguinte,,, tem q ver se vc esta utilizando apenas um WINSCK,,, no meu server qdo ele da LOAD no projeto, ele abre de kara 80 Winscks com portas diferentes.. assim n tem como o programa confundir os dados .... qualquer coisa mail me.. flwww
|
|
|
|