Sistema de Cinema
Boa tarde galera, estou fazendo um tcc, foi proposto pelo meu professor, fazer um sistema com controle de ingressos de filmes, porém fazendo comunicação entre 2 maquinas ligadas em rede, onde eu fico transportando xml de uma pra outra, e verficando se tem acentos e/ou ingressos de uma pra outra.
Minha principal dúvida é, como fazer esse procedimento? eu pesquisei na internet e achei interessante por meio de sockets, apesar de nunca ter usado, fiz uma espécie de cliente/servidor utilizando socket, mas nesse caso acredito que as duas maquinas seriam clientes... voces tem alguma ideia de como fazer ? desde já muito obrigado.
Minha principal dúvida é, como fazer esse procedimento? eu pesquisei na internet e achei interessante por meio de sockets, apesar de nunca ter usado, fiz uma espécie de cliente/servidor utilizando socket, mas nesse caso acredito que as duas maquinas seriam clientes... voces tem alguma ideia de como fazer ? desde já muito obrigado.
Leonardo Carvalho
Curtidas 0
Respostas
Joel Rodrigues
02/04/2013
É um XML só ou são vários XMLs enviados de uma máquina para a outra?
GOSTEI 0
Leonardo Carvalho
02/04/2013
No caso seria uma requisição de xml por vez, por exemplo, o cliente faz uma requisição de ingresso, então verifica se tem disponibilidade, caso tenha, vou até a outra maquina e atualizo na outra. Ou seja seria um trabalho em sincronia nas duas maquinas... mandando um xml por vez.
GOSTEI 0
Joel Rodrigues
02/04/2013
Não sei se te serve, nunca implementei, mas você poderia manter uma pasta na rede onde você jogaria esses XMLs. Então, cada máquina ficaria "observando" essa pasta e sempre que fosse inserido/alterado um arquivo, abriria e verificaria o conteúdo.
Para isso, você poderia usar o FileSystemWatcher.
Para isso, você poderia usar o FileSystemWatcher.
GOSTEI 0
Leonardo Carvalho
02/04/2013
Opa, ótima ideia companheiro, o problema é que não tenho muita experiencia com threads e delegates, agora que estou aprendendo, mas essa ideia foi muito boa.. vou perguntar ao instrutor sobre essa possibilidade... obrigado.
GOSTEI 0
Leonardo Carvalho
02/04/2013
mas no caso de se fazer com socket, vc sabe se realmente tem como fazer as duas maquinas virarem clients, e se comunicarem trocando informações??
GOSTEI 0
Frederico Filho
02/04/2013
Cara..boa noite.
Seria bom ter uma ideia real dos requisitos da sua aplicação.
Mas acho q vc poderia avaliar algo mais simples como um web service.
Não consegui visualizar a necessidade de transportar arquivos pela rede já q o seu objetivo não é armazenar o arquivo.
Qlq coisa lista aqui as funcionalidade para fecharmos a arqutetura do seu sistema.
Vlws.
Seria bom ter uma ideia real dos requisitos da sua aplicação.
Mas acho q vc poderia avaliar algo mais simples como um web service.
Não consegui visualizar a necessidade de transportar arquivos pela rede já q o seu objetivo não é armazenar o arquivo.
Qlq coisa lista aqui as funcionalidade para fecharmos a arqutetura do seu sistema.
Vlws.
GOSTEI 0
Robson Alves
02/04/2013
Concordo.
Trabalha com uma fonte de dados única. Acredito que o XML não vai te atender para requisição simultânea, desde que o arquivo estará sendo lido por uma máquina e a outra não terá acesso.
Para compra simultânea, pode trabalhar com WebSocket.
Onde o servidor informa os clientes que o assento foi reservado.
Recomendo o Signalr: signalr.net
Estou entendendo que você vai trabalhar com Asp.net/C#.
Trabalha com uma fonte de dados única. Acredito que o XML não vai te atender para requisição simultânea, desde que o arquivo estará sendo lido por uma máquina e a outra não terá acesso.
Para compra simultânea, pode trabalhar com WebSocket.
Onde o servidor informa os clientes que o assento foi reservado.
Recomendo o Signalr: signalr.net
Estou entendendo que você vai trabalhar com Asp.net/C#.
GOSTEI 0
Leonardo Carvalho
02/04/2013
Obrigado ae galera, to entendendo, a tecnologia é realmente c# windows form, mas o problema que a intenção primeiramente é pegar os dados dos filmes atualizados de uma pagina existente em xml. [http://www.cinemark.com.br/mobile/xml/films/]. De acordo com o filme escolhido ai eu verifico os lugares disponiveis, etc, mas o sistema ainda não tá bem definido quanto a isso, se vcs tiverem umas ideias legais...
GOSTEI 0
Robson Alves
02/04/2013
Agora entendi.
Você consome os dados desse XML para ter informações dos filmes.
E faz a ideia da cadeira numerada a parte, controlando internamente os pedidos realizados.
Como vai fazer em winForms, vc vai ter que trabalhar com Sockets ou algo mais recente (não tenho conhecimentos em WinForm).
Você consome os dados desse XML para ter informações dos filmes.
E faz a ideia da cadeira numerada a parte, controlando internamente os pedidos realizados.
Como vai fazer em winForms, vc vai ter que trabalhar com Sockets ou algo mais recente (não tenho conhecimentos em WinForm).
GOSTEI 0
Leonardo Carvalho
02/04/2013
então Robson, exatamente, eu andei pesquisando na internet, a melhor forma de fazer isso, eu encontrei alguns materiais sobre socket(não tinha conhecimento, e ainda não sei se seria o melhor caminho), inclusive montei uma pequena aplicação entre um form cliente e outro servidor, só que nesse caso eu creio que as duas maquinas deveriam ser clientes... pois sempre que for modificado os dados em uma maquina eu devo ir atualizar e deixar os dados da outra identico.
GOSTEI 0
Robson Alves
02/04/2013
Exato, o conceito é esse mesmo.
O "Servidor" deve sempre manter todos os clientes atualizados. Assim numa compra simultânea o outro saberá os assentos reservados naquele momemento. Sem surpresas no final.
O "Servidor" deve sempre manter todos os clientes atualizados. Assim numa compra simultânea o outro saberá os assentos reservados naquele momemento. Sem surpresas no final.
GOSTEI 0
Leonardo Carvalho
02/04/2013
Entendi, vou continuar nesse conceito então Robson, obrigadão ai cara, qualquer coisa estamos ai...
GOSTEI 0
José
02/04/2013
Como aparentemente a duvida foi solucionada, estou dando este tópico por concluído.
GOSTEI 0