Unha breve guía para a programación do soquete para redes informáticas TCP / IP

A programación de sockets conecta as computadoras de servidor e cliente

A programación de sockets é a tecnoloxía fundamental das comunicacións nas redes TCP / IP . Un socket é un punto extremo dunha conexión bidireccional entre dous programas que se executan nunha rede. O enchufe proporciona un punto final de comunicación bidireccional para enviar e recibir datos con outro enchufe. As conexións de socket normalmente se executan entre dúas computadoras diferentes nunha rede de área local ( LAN ) ou a través de internet, pero tamén se poden usar para a comunicación interproceso nunha única computadora.

Enchufes e enderezos

Os puntos finais do socket nas redes TCP / IP teñen un enderezo exclusivo que é a combinación dunha dirección IP e un número de porto TCP / IP. Debido a que o enchufe está ligado a un número de porto específico, a capa TCP pode identificar a aplicación que debería recibir os datos enviados a ela. Ao crear un novo socket, a biblioteca do socket xera automaticamente un número de porto exclusivo nese dispositivo. O programador tamén pode especificar os números de porto en situacións específicas.

Como funcionan os sockets do servidor

Normalmente un servidor execútase nunha computadora e ten un enchufe ligado a un porto específico. O servidor agarda unha computadora diferente para facer unha solicitude de conexión. O computador cliente coñece o nome de máquina da computadora servidor eo número de porto no que o servidor está a escoitar. A computadora cliente identifícase e, se todo vai ben, o servidor permite que a computadora cliente se conecte.

Bibliotecas Socket

En lugar de codificar directamente ás API de sockets de baixo nivel, os programadores de rede normalmente usan bibliotecas de socket. Dúas bibliotecas de socket usadas son Berkeley Sockets para sistemas Linux / Unix e WinSock para sistemas Windows.

Unha biblioteca de socket proporciona un conxunto de funcións API semellantes ás que usan os programadores para traballar con ficheiros, como open (), read (), write () e close ().