Socket

Olá! Preciso conectar meu Arduino como cliente em um socket, onde uma aplicação C# será o servidor (eles vão estar em redes diferentes). Encontrei um artigo, porém, ele mostra apenas como enviar um dado, e eu preciso enviar e receber dados. Como posso fazer isso? Não tenho a mínima ideia.

Eu nem sou especialista nessa área nem posso dizer que tenha feito muita coisa nessa área. No entanto penso que um pouco mais de detalhe na explicação do problema seja vantajoso para que quem está do outro lado consiga ajudar.
Sendo assim:

  • qual é o hardware?
  • qual é a biblioteca que está a usar?
  • qual é esse artigo que utilizou?

Pesquisa por protocolo... É isso que tens de definir em ambos os lados.