Computer network programming

Mрежното програмирање, суштински идентично со приклучок програмирање или клиент-опслужувач програмирање, вклучува пишување компјутерски програми кои комуницираат со други програми низ компјутерската мрежа. Програмата или процесот кој ја иницира комуникацијата е наречен клиент процес, а програмата која чека на комуникацијата да биде започната е опслужувач процес. Клиент и опслужувач процесите заедно формираат распределувачки систем. Комуникацијата помеѓу клиент и опслужувач процесот може да е конекциски-ориентирана (како и утврден TCP виртуелно коло или сесија), или неконекциски (заснован на UDP datagrams).

Програма која може да се однесува и како клиент и како опслужувач е заснована на peer-to-peer комуникација.

Приклучоците вообичаено се имплементирани од API библиотека како Berkeley приклучоци, прво претставени во 1983. Повечето имплементации се засновани на Berkeley приклучоци, на пример Winsock претставен во 1991. Други имплементации на API приклучоци постојат, како што е STREAMS-засновано Transport Layer Interface (TLI).

Еве примери на функции и методи типично обезбедени од API библиотеката:
 socket() создава нов приклучок од одреден тип на приклучок, идентификуван од цел број, и доделува системски ресурси на него.
 bind() типично се употребува на страната на опслужувачот, и поврзува приклучок со приклучок структура, односно спцифициран број на локална порта и IPадреса.
 listen() се употребува на страната на опслужувачот, и предизвикува поврзаниот TCP приклучок да влезе во listen фаза.
 connect() е употребен на страната на клиентот, и назначува слободнен број на локална порта на приклучокот. Во случај на TCP приклучок, предизвикува обид да воспостави нова TCP врска. 
 accept() е употребен на страната на опслужувачот. Прифаќа доаѓачки примен обид да се создава нова TCP врска од далечински клиент, и создава нов приклучок придружуван со парот адреси на приклучоците од оваа врска. 
 send() и recv(), или write() и read(), или recvfrom() и sendto(), се употребуваат за прачање и примање податоци до/од далечински приклучок.
 close() предизвикува системот да ослободи ресурси доделени на приклучокот. Во случај на TCP, врската е прекината.

 Поврзано 
 Интер-процесорска комуникација (IPC)

 Надворешни врски 
 Beej's guide to network programming
 http://www.kohala.com/start/preface.unpv12e.html
 http://java.sun.com/docs/books/tutorial/networking/overview/networking.html

Категорија:Сметачки мрежи
Категорија:Компјутерско програмирање
Категорија:Интер-процесорска комуникација