Linguagem C – Como transferir dados por ip?

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 :)”