Socket IT дайре

Sockets (гнездото английски -. Вдлъбнатината жак) - името на програмния интерфейс за обмен на данни между процеси. Процесите на такъв обмен могат да се извършват едновременно на един компютър или на различни компютри, свързани помежду си чрез мрежа. Необходимо е да се прави разлика между гнездата на клиента и сървъра. Клиентското приложение (например браузър) използва само гнезда клиент и сървър (например уеб сървър, към който браузърът изпраща заявки) - клиентът и сървърът гнезда. Софтуер гнездо интерфейс, описан в стандарта POSIX.1 и до известна степен се поддържа от всички съвременни операционни системи.

За да се избегнат недоразумения, аз просто казвам, че е написано по-долу е предназначена за тези, които kodit C / C ++ (MSVC ++ в Windows-базирани системи и ССЗ / г ++ за Никс). Аз също се предположи, че читателят има поне минимален набор от знания за структурата и функционирането на компютърни мрежи. По избор, но е желателно справка за Windows API 32 на ръка, или достъп до MSDN (yuniksoidam в това отношение късмет - мъж страници не може да бъде "без ръце";)). Друго нещо, което бих искал да издаде предупреждение: представеният по-долу не претендира да осветление материал го засегнат толкова добре, че да абсолютна точност.

Накрая, преди да се рови в басейна с главата си, ще дам още един съвет: моят приятел, който учил английски в края на краищата! Той ще бъде много полезно. В крайна сметка, когато искате да се превърне в мрежа програмиране гуру, трябва да се чете много RFC-документи, както и грешки в превода и неправилно тълкуване на технически спецификации са "бомби със закъснител"!

Всеки уважаващ себе съвременни операционни системи разполагат с необходимите средства, за да общуват с други компютри. Най-често срещаната сред програмистите инструмент за тези цели са гнезда. Sockets - това API (Application Programming Interface - Application Programming Interface), за да работят с слоевете OSI. Sockets са толкова гъвкави, че ви позволи да работите с почти всеки от слоевете OSI. Вие искате - Генерира IP-пакети ръце и заем хакване, изпращане на "погрешни" пакетите, които ще влязат в сървъра в ступор, искаш - Вземи по-разумно бизнес и създаване на нов лесен за употреба гласов чат, което искате - от преследването на мрежата igrulku, не искам - прав си, но този случай не смятаме, че това ръководство ... :)

Жизненият цикъл на сървъра може да бъде представен, както следва:

живота на клиентите цикъл може да се представи по следния начин: