none
Chat RRS feed

  • Pergunta

  • Gente! Olha só eu gostaria de saber como faço para fazer o meu CHAT pegar em duas máquinas diferentes. Até agora só consegui fazer o CHAT rodar na mesma máquina. Como faço?
    quarta-feira, 10 de julho de 2013 20:40

Todas as Respostas

  • Boa noite Hakemi

    Aqui, esse que já funciona na mesma maquina, você faz entre processos ou na mesma tela?

    quinta-feira, 11 de julho de 2013 01:20
  • Boa noite Hakemi

    Aqui, esse que já funciona na mesma maquina, você faz entre processos ou na mesma tela?

    Olha, esse eu utilizo duas telas diferentes. É como se estivessem em máquinas diferentes só que no mesmo projeto e na mesma máquina é um projeto bem simples com uso do socket cliente e servidor, mas não encontro nenhum exemplo com máquinas diferentes (se encontro eu não o entendo, pois sou nova na área). Também gostaria de saber se devo usar Thread e tals...
    quinta-feira, 11 de julho de 2013 17:35
  • Bom cara,

    Essas telas diferentes são a mesma aplicação? (.exe)

    tipo é como se voce tivessa apertado 2 vezes Ctrl+F5 (Starta a aplicação sem o modo debug) no Visual Studio?

    Por que se for desta forma voce está fazendo uma comunicação entre este processos né. Existe 2 jeitos de fazer isso com maquinas diferentes, umas é usando uma arquitetura baseada em dados, e outra usando uma arquitetura baseada em objetos.

    • Arquitetura baseada em dados: é a mais utilizada. Consiste em que os dois processos da mesma aplicação (chat) devem estar "enchergando" uma mesma "variavel". Esta variavel poderia representar a conversa. Essa variavel para ser vista pelos 2 processos deve ser por exemplo um arquivo.txt ou um banco de dados. Essa arquitetura é a mais comum por que se usa o banco de dados para sincronizar os processos.
    • Arquitetura baseada em objetos: é mais complexa por utilizar uma comunicação pelo barramento de rede. Voce pode mandar a "variavel" toda por parametro. Por exemplo um vetor de int[] preenchido ir pra outro processo que esta em outra maquina. Para ser utilizada voce precisa do endereço da maquina destino e é preciso que este tenha uma porta do computador aberta pra essa comunicação.

    Recomento pra voce utilizar a Arquitetura Baseada em Dados por que pensando de modo de uma aplicação comercial, cada chat teria que abrir uma porta no seu servidor. E isso é uma pratica nada boa.

    Na sua aplicação voce pode ter uma thread que ficará verificando se existe mensagens não lidas no banco de dados, no momento que encontrar mensagens não lidas, essa thread chama uma função que irá consultar as mensagens e marca-las como lidas e depois disso atualizar a tela da aplicação 


    quinta-feira, 11 de julho de 2013 18:40
  • Essas telas diferentes são a mesma aplicação? (.exe)


    Olha é a mesma aplicação Kelvin. Só que meu problema mesmo é como fazer isso... Necessito de Thread? Só um WinSock já resolve?
    quinta-feira, 11 de julho de 2013 19:02
  • Vejo que o meu negócio mesmo é a arquitetura baseada em objetos.
    quinta-feira, 11 de julho de 2013 19:03
  • Mas não sei se seja interessante o baseada em objetos por que voce vai ter que abrir uma porta nos dois computadores que estiverem conversando.
    quinta-feira, 11 de julho de 2013 19:07
  • Sim eu sei, é que estou fazendo um projeto de Lan House. E eu acredito que tendo um exemplo em CHAT eu teria como fazer meu sistema de Lan.
    quinta-feira, 11 de julho de 2013 19:46
  • Entendi.

    Bom cara, eu conheço disso usando C# então vo colocar um codigo C#.

    So preciso modificar ele. To implementando aqui.

    quinta-feira, 11 de julho de 2013 20:23
  • Hakemi,

    Acho que este exemplo vai ser bem util pra voce

    http://code.msdn.microsoft.com/Chat-Console-Application-ff02cd69

    Dentro do MailClient (a aplicação cliente) é especificado o caminho da aplicação servidor. Dai é só voce colocar no seu serv, e implementar os ajustes. Lembre-se de ler a descrição do projeto.

    :)

    quinta-feira, 11 de julho de 2013 22:36
  • Hakemi,

    Acho que este exemplo vai ser bem util pra voce


    Dentro do MailClient (a aplicação cliente) é especificado o caminho da aplicação servidor. Dai é só voce colocar no seu serv, e implementar os ajustes. Lembre-se de ler a descrição do projeto.

    :)

    Seu coment foi muito útil Kelvin, mas eu sou inexperiente seria bom se tivesse um tutorial em VB.NET ^^

    Mas não sou ingrata. Se vc souber de algo em VB.NET vai me ajudar muito.

    quinta-feira, 11 de julho de 2013 23:32
  • Que bom que foi util Hakemi :)

    Mas se voce baixalo e executar no Visual Studio vai conseguir entender. C# é muito parecido com VB.

    Tem alguma restrição que o seu programa deve ser em VB?

    quinta-feira, 11 de julho de 2013 23:40