Antes de tudo é preciso assumir que estamos perante uma pergunta que nos conduz inevitavelmente a uma área de alguma complexidade.
Quando me surgiu esta ideia acabei neste endereço ( http://beej.us/guide/bgnet/output/html/multipage/index.html ), onde de facto está tudo muito claro. Parabéns ao autor Brian “Beej Jorgensen” Hall.
Mas imagine que, sem querer atravessar todo o processo de estudo de comunicação de dados em linguagem C, pretende escrever um programa que necessita de trocar pequenas quantidades de informação sem grandes preocupações de segurança?
Proponho um exemplo: “O Jogo do Galo”!
Numa análise simplista, para implementar este jogo em rede basta conseguir trocar dados do tipo “char” que representem as várias situações: ‘x’ para as cruzes; ‘o’ para as bolas; ‘ ‘ para uma célula vazia; e todos os outros caracteres para associar às várias situações de controlo que necessitem.
Sem explorar os aspectos básicos associados à implementação deste jogo, deixo aqui um pequeno programa de exemplo, onde implementei duas funções que tornam possível a comunicação entre dois “hosts” na vossa rede, bastando paro o efeito conhecer o endereço ip que lhes está atribuído.
A função “enviar” faz justiça ao nome escolhido, pois simplesmente lança no meio de transmissão um sinal dirigido ao “ip_receptor” contendo um caracter. O receptor faz com o caracter o que lhe apetecer!
A função “receber” ausculta o meio de transmissão até lhe ser enviado um caracter.
A função “main” é “paisagem”, pois apenas serve para exemplificar a utilização destas duas funções.
Download do código fonte: aqui (Box: sourcecode0004.cpp)
Basta mudarem os endereços ip para o vosso caso e já estão a trocar caracteres.
Espero que isto vos seja útil e fico à espera desse “Jogo do Galo – Versão rede :)”

Outubro 4, 2008 às 10:46 pm
Graciano Torrão,
Fiquei interessado no seu artigo sobre “Como transferir dados por ip”, onde você deixou um exemplo de um “jogo do galo” com linguagem C para download (Box: sourcecode0004.cpp), mas não consegui baixar no site em questão.
Se você puder me enviar o código fonte ficarei grato. Sou estudante de Mecatrônica e Eng. Elétrica.
Desde já, agradeço,
Fábio
Outubro 5, 2008 às 10:41 am
Este assunto resultou de uma experiência que fiz com um grupo de jovens com muito pouca experiência na área da programação.
Limitei-me a ir ao endereço que forneço no artigo e a “adaptar” duas funções que enviam e recebem dados conhecidos os endereços de ip do emissor e do receptor.
Os resultados não foram os melhores, pois o assunto é demasiado complexo para ser abordado de ânimo leve, pelo que recomendo mesmo a leitura integral do artigo.
Quanto ao exemplo que tinha na box não sei se ainda existe … pelos vistos aquele serviço mudou a sua “filosofia” de alojamento grátis.
Se entretanto o encontar envio por email.
Felicidades nos estudos.
Dezembro 29, 2008 às 2:15 am
Estou estudando a linguagem C, fiquei muito curioso em visualizar o fonte, pode me enviá-lo, por favor.
Fraterno abraço,
Júnio
Fevereiro 12, 2009 às 7:57 pm
olá,
me interessei muito por tal assunto,
mas o arquivo foi removido,
pode posta lo denovo?
Fevereiro 12, 2009 às 9:57 pm
Olá,
Lamento mas já não sei onde tenho este exemplo :(
Tinha isto no box.net das depois deu trapalhada e agora não sei do código fonte.
De qualquer das formas limitei-me na altura a ir ao link que indico no início deste post e a adaptar duas funções que lá encontrei.
No original era possível enviar um sequência de caracteres … eu adaptei para um único caracter … ideal para o efeito que eu pretendia.
De qualquer das formas para mexer neste assunto a sério vai ser necessário estudar um bocado sobre sockets e só depois partir para as experiências.
Esta é pelo menos a ideia que tenho do assunto, que confesso nunca dediquei muito tempo ;)