Isang Maikling Gabay sa Socket Programming para sa TCP / IP Computer Network

Nag-uugnay ang Socket programming ng mga server at client computer

Ang mga programming sa Sockets ay ang pangunahing teknolohiya sa likod ng mga komunikasyon sa mga network ng TCP / IP . Ang socket ay isang endpoint ng isang dalawang-way na link sa pagitan ng dalawang programa na tumatakbo sa isang network. Ang socket ay nagbibigay ng bidirectional endpoint ng komunikasyon para sa pagpapadala at pagtanggap ng data sa ibang socket. Ang mga koneksyon sa socket ay karaniwang tumatakbo sa pagitan ng dalawang magkaibang mga computer sa isang lokal na network ng lugar ( LAN ) o sa internet, ngunit maaari rin itong magamit para sa interprocess na komunikasyon sa isang solong computer.

Sockets at Addresses

Ang mga endpoint sa socket sa mga network ng TCP / IP ay may natatanging address na kumbinasyon ng isang IP address at isang TCP / IP port number . Dahil ang socket ay nakatali sa isang tiyak na numero ng port, maaaring tukuyin ng TCP layer ang application na dapat makatanggap ng data na ipinadala dito. Kapag lumilikha ng isang bagong socket, ang awtomatikong library ay bumubuo ng isang natatanging numero ng port sa device na iyon. Ang programmer ay maaari ring tumukoy ng mga numero ng port sa mga partikular na sitwasyon.

Paano Gumagana ang Sockets ng Server

Kadalasan ang isang server ay tumatakbo sa isang computer at may socket na nakatali sa isang partikular na port. Naghihintay ang server para sa ibang computer upang makagawa ng kahilingan sa koneksyon. Alam ng client computer ang hostname ng server computer at ang numero ng port kung saan nakikinig ang server. Kinikilala ng client computer ang sarili nito, at-kung ang lahat ay napupunta sa kanan-pinapahintulutan ng server ang client computer upang kumonekta.

Socket Libraries

Sa halip na direktang mag-code sa mga mababang antas na socket API, ang mga programmer ng network ay karaniwang gumagamit ng mga library ng socket. Dalawang karaniwang ginagamit na socket library ang Berkeley Sockets para sa mga sistema ng Linux / Unix at WinSock para sa mga system ng Windows.

Ang socket library ay nagbibigay ng isang hanay ng mga function ng API katulad ng mga programmer na ginagamit para sa pagtatrabaho sa mga file, tulad ng open (), read (), write (), at close ().