Jump to content

p2p


cameleon
 Share

Recommended Posts

Boas pessoal!

Ando aqui com um projecto para fazer de Redes de Computadores que envolve sockets mas está complicado de desenvolver. Trata-se de uma rede peer-to-peer.

Basicamente a minha aplicação (ou a de qualquer outro colega) regista-se num servidor UDP (onde estão armazenados os ip's, portos tcp e seqnumber de cada peer) que devolve um numero de sequencia, relacionado com a ordem pela qual entrei na rede. Depois disso, é suposto o meu programa estabelecer ligação TCP a outros peers que estejam também registados, sempre de numero de sequencia inferior ao meu. A partir daqui, outros poderão ligar-se a mim (sempre por sockets TCP), e o objectivo é que cada um tenha uma lista de strings que conhece e, a qualquer altura o utilizador pode pesquisar uma string que lhe apeteça, desencadeando uma pesquisa não só na minha lista, mas em toda a rede (caso não esteja na minha lista de strings conhecidas).

A parte do registo com o servidor UDP é simples, o que agora não sei é como funcionar como peer, isto é, como cliente e servidor em simultâneo, e estando sempre ainda atento ao input do utilizador que a qualquer momento pode aparecer no teclado. Já para não falar de gerir as situações em que vários se tentam ligar a mim ao mesmo tempo. Tanto quanto sei, a função select será necessário usar, mas nada de fork().

Se alguém me pudesse dar umas pistas (e/ou código) sobre como tratar destas ligações TCP ficava muito agradecido!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.