Chat P2P Visual Basic 2005(8) - Visual Basic .NET - Portugal-a-Programar
Chat P2P Visual Basic 2005(8)
By ddrjm,
April 9, 2008 in Visual Basic .NET
Já passei muitas horas nestes foruns mas só hoje me decidi registar porque preciso de ajuda 😄
Para Tema da minha PAT estou a tentar desenvolver um genero de messenger de Lan sem servidor. algo tipo P2P.
estou a começar agora e estou a usar o Visual Studio 08.
Alguem me podia dar umas luzes sobre que protocolos de rede usar e possivelmente darem alguns exemplos? 👍
A unica programação em rede que fiz foi no VB6 com o winsock, mas isso era só cliente/servidor.
Se alguem souber algo sem ser com o winsock diga, sou novo a programar no visual studio 08
desde já agradeço a ajuda B)
N estou mt por dentro disso apesar de ser algo que me cativa bastante
Pesquisa por Sockets (Vb.net) o antigo Winsock (vb6)
Ja que nao vai existir servidor iras usar ligaçoes do tipo cliente->cliente mas nao tenho bem a certeza
ah.. qd tiveres algo de concreto posta por ai pq julgo que isso é uma area que interessa a mais pessoal aqui no forum!
o programa vai ser muito user-friendly por isso queria que o programa ao iniciar, fizesse um "sweep" do segmento da rede e depois apresentasse os computadores numa lista para o utilizador escolher, estava tambem a pensar em atribuir um nick a cada computador que estivesse online para o utilizador se guiar melhor em vez de mostrar o nome NetBios do mesmo.
Sim, quero basear a minha comunicação em cliente-cliente, e escolhi o P2P pois todos os computadores estão ao mesmo "nivel". ja estive a ler sobre o UDP mas não me é fiavel pois pode haver Packet Loss e ter um utilizador que não receba a mensagem não está nos meus planos.
Já criei uma conta no Sf.net, procurem por Lan Messenger PT.
Intenciono levar este projecto para alem da PAT, por isso quem quiser ajudar e participar é bem-vindo 👍
cumpz 😄
ninguem responde? :S
Posso dizer-te que o programa tem que agir simultaneamente como cliente e servidor.
Tens que pôr o programa à escuta num determinado porto, e a dar uma determinada resposta quando alguém se ligar a esse porto. Para fazeres a pesquisa na rede local, é enviares uma mensagem para esse porto para todos os endereços da rede, e ver nos que te conseguires ligar se a resposta é o que esperas.
Para outras dúvidas, tens que ser mais específico.
Obrigado pela ajuda desde já, eu ja estive a ler sobre peer-to-peer (P2P) e a parte teorica ja a tenho mais ao menos encaixada mentalmente. Agora preciso de passar da teoria para a prática e começar a Codar. Não sei que funções usar no VB que comuniquem em rede, sou totalmente n00b em .net e programação em rede. os objectivos que pretendo atingir são:
- Quando um cliente se liga, a lista de utilizadores de cada node tem que ser actualizada e o utilizador que acabou de se ligar tem que obter a lista actualizada ou fazer o sweep pelo segmento, esses passos queria que fossem feitos automaticamente para manter a simplicidade do programa.
- Queria incluir a possibilidade de o utilizador escolher um nick para se identificar, em vez de ser o nome NetBios ou o IP da maquina.
- Quando um utilizador quiser enviar uma mensagem, essa terá que ser enviada para o(s) membro(s) seleccionado(s) na lista de utilizdores online.
- O utilizador tem que estar sempre á escuta por mensagens vindas de outros nodes, nem que essas sejam alterações de estado.
- Quando um utilizador se desliga, os outros nodes têm que ser notificados na barra de estado existente no programa.
Agora preciso de passar isto tudo para código, só que não sei o que fazer para começar, não sei que funções comunicam em rede (p2p perferencialemente), nao sei trabalhar direito com o .NET. Precisava que me ajudassem.
Agradeço desde já o tempo e a ajuda dispensadas 😉
o principal objectivo do programa é nao haver servidor para os clientes se ligarem para comunicar mas sim os clientes comunicarem entre si.
posso orientar qq coisa sobre isso... se ainda for preciso diz... tenho um programa parecido com esse a funcionar a 90%... o tipo que trabalhava comigo saiu...e fiquei sem tempo pra isso. Mas aquilo que eu fiz (consegui ter até 3 utilizadores em simultâneo) foi um esquema como eu entendi que tu querias.
Mandava status, mensagens ofline... e por aí fora... quanto aos utilizadores...eram todos aplicacionais...e tido isso estava em BD. ;-)
aquilo na altura pareceu-me programação muito à frente, sobretudo por causa das cross thread's... muito dificeis de lidar.