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.
|
|
|
|
|
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
|
|
|
|
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!
|
|
|
|
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???
|
|
|
|
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
|
|
|