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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Usando Winsock - enfileiramento
Defende
JARINÚ
SP - BRASIL
ENUNCIADA !
Postada em 18/10/2006 09:15 hs            
Tudo bom para todos.

Estou fazendo uma aplicacao que ja esta quase pronta mas encontrei um problema.
A minha aplicacao gerencia pela rede uma impressora que faz a gravacao de cartoes SmartCard.
Usando o Winsock pela rede eu conecto o client no server e envio um comando para a impressora puxar um cartao, ler o seu codigo, esse codigo eh devolvido para o client que faz uma busca e retorna as informacoes para a impressora que faz a gravacao no cartao. Ateh ai tudo bem.
O problema eh que eu nao posso permitir que outro client faca uma requisao enquanto o primeiro nao terminar o processo que foi iniciado pois como ja foi lido o cartao ele tem um cadastro que ja esta aberto no client e os dados nao podem ser misturados.
Pergunta: Tem como eu ir enfileirando os pedidos que vao chegando vai Winsock e no final de cada processo ir pegando o subsequente?
O meu problema todo esta ai pois um teste que eu fiz aqui o primeiro client enviou um pedido e o processo comecou mas durante esse processo um segundo client tambem enviou o pedido e na hora de devolver a informacao ele misturou.
Como eu faco para que o Winsock servidor devolva exatamente para o client medidante seu ip?

Grato.
   
Defende
JARINÚ
SP - BRASIL
Postada em 19/10/2006 09:58 hs            
E ai pessoal - ninguem se habilita a um palpite?

Nem que seja apenas uma ideia pois eu estou sem....

Valeu
     
Msmarcus_RJ
RIO DE JANEIRO
RJ - BRASIL
Postada em 19/10/2006 10:20 hs         
Bom, você pediu pelo menos uma idéia ou palpite, então vamos lá...

Deixa eu ver bem se eu entendi...

A sua aplicação envia um comando a impressora puxar o cargo, e ler o código e assim desenvolver.

mas após ela fazer ela retorna pro Client ?

Caso for,
Por que você num faz por IP ?

Voce poderia tentar armazenar os novos pedidos da Seguinte forma:

- Banco de dados
- Arquivos de Texto
- Strings

Tanto faz...

O que acha ? é isso ?

t++

Marcus Vinícius

______________________________
Resolveu ? Tópico Trancado!

     
Defende
JARINÚ
SP - BRASIL
Postada em 19/10/2006 10:35 hs            
Valeu pela opinão Msmarcurs.
Vou tentar explicar melhor.

Em uma maquina que eu chamo de Server roda os drivers da impressora e o sistema servidor que tem o socket.
Oe cliets se conectam no servidor via socket pois a aplicacao dos clients esta em Java. Nessa conexao, assim que se conecta ele envia uma string que tem o comando para a impressora puxar um cartao do Hooper (gaveta) e efetuar a leitura do numero fisico do cartao e envia esse numero via socket de volta para o client mas contuna conectado pois o client de posse desse numero faz uma validacao em um sistema de terceiro e dai envia novamente um outro comando para o servidor agora sim falando se vai imprimir ou não o cartao e caso nao for executar a impressao o cartao eh descartado.
O meu problema eh que nesse meio tempo outros clients podem estar fazendo requisoes ao servidor mas como o cartao da primeira requisao ainda esta no leitor da impressora eu nao posso processar estas requisoes mas tenho de colocas tipo em um "spool" para que conforme for resolvendo as requisoes o sistema vah pegando a proxima e devolvendo para o seu respectivo client.
O que eu estou meio perdido eh como ir colocando isso em "fila" e depois ir pegando uma a uma as requisos e ir resolvendo.

Mais alguma ideia???

     
William 
CRAVINHOS
SP - BRASIL
Postada em 24/08/2009 22:32 hs            
Cria um vetor

Faça uma função pra definir um valor ao IP

no final da função você "zera" i I

e no Inicio da função pra evitar I's a toa,você faz um for, se tiver algum I vazio, você utiliza ele, caso contrário cria outro... não sei se entendeu... mas é mais ou menos assim... kkk
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

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

HTML DESLIGADO

     
 VOLTAR

  



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