Stručný průvodce programováním socketů pro sítě TCP / IP

Programování soketu spojí serverové a klientské počítače

Programování zásuvek je základní technologií komunikace v sítích TCP / IP . Soket je jeden konečný bod dvoucestného propojení mezi dvěma programy spuštěnými v síti. Soket poskytuje koncový bod obousměrné komunikace pro odesílání a přijímání dat s jinou zásuvkou. Připojení soketů běžně běží mezi dvěma různými počítači v místní síti ( LAN ) nebo přes internet, ale mohou být také použity pro komunikaci mezi procesy na jednom počítači.

Sokety a adresy

Koncové body soketu v sítích TCP / IP mají jedinečnou adresu, která je kombinací adresy IP a čísla portu TCP / IP. Protože soket je vázán na konkrétní číslo portu, může vrstva TCP identifikovat aplikaci, která by měla přijímat data, která jí byla odeslána. Při vytváření nové sokety knihovna soketů automaticky generuje na tomto zařízení jedinečné číslo portu. Programátor může v určitých situacích také specifikovat čísla portů.

Jak fungují zásuvky serveru

Typicky server běží na jednom počítači a má zásuvku, která je vázána na určitý port. Server čeká na jiný počítač, aby provedl žádost o připojení. Klientský počítač zná jméno hostitele počítače serveru a číslo portu, na kterém server poslouchá. Klientský počítač se sám identifikuje a - pokud je vše v pořádku - server povoluje připojení klientského počítače.

Socket knihovny

Spíše než kódovat přímo do API pro sokety s nízkou úrovní, síťoví programátoři obvykle používají knihovny socketů. Dvě běžně používané socketové knihovny jsou Berkeley Sockets pro systémy Linux / Unix a systémy WinSock pro Windows.

Knihovna zásuvek poskytuje sadu funkcí rozhraní API podobných programátorům, které se používají při práci se soubory, například open (), read (), write () a close ().