Panduan Ringkas untuk Pemrograman Socket untuk Rangkaian Komputer TCP / IP

Pengaturcaraan soket menghubungkan pelayan dan komputer klien

Pengaturcaraan soket adalah teknologi asas di sebalik komunikasi pada rangkaian TCP / IP . Soket adalah salah satu titik akhir dari pautan dua arah antara dua program yang dijalankan pada rangkaian. Socket menyediakan titik akhir komunikasi dua hala untuk menghantar dan menerima data dengan soket lain. Sambungan soket biasanya dijalankan di antara dua komputer yang berbeza pada rangkaian kawasan tempatan ( LAN ) atau di seluruh internet, tetapi mereka juga boleh digunakan untuk komunikasi antara proses pada satu komputer.

Soket dan Alamat

Titik endok sambung pada rangkaian TCP / IP masing-masing mempunyai alamat unik yang merupakan gabungan dari alamat IP dan nombor port TCP / IP. Kerana soket itu terikat pada nombor port khusus, lapisan TCP dapat mengenal pasti aplikasi yang seharusnya menerima data yang dikirimkan kepadanya. Apabila mencipta soket baru, perpustakaan soket secara automatik menjana nombor port unik pada peranti itu. Programmer juga boleh menentukan nombor port dalam situasi tertentu.

Bagaimana Sokongan Server berfungsi

Lazimnya pelayan berjalan pada satu komputer dan mempunyai soket yang terikat pada port tertentu. Pelayan menunggu komputer yang berbeza untuk membuat permintaan sambungan. Komputer klien mengetahui nama hos komputer pelayan dan nombor port di mana pelayan sedang mendengar. Komputer klien mengenalpasti dirinya sendiri, dan-jika semuanya berjalan dengan betul-pelayan membenarkan komputer klien untuk menyambungkannya.

Socket Libraries

Daripada kod langsung kepada API soket tahap rendah, pengaturcara rangkaian biasanya menggunakan perpustakaan soket. Dua perpustakaan soket yang biasa digunakan ialah Berkeley Sockets untuk sistem Linux / Unix dan sistem WinSock untuk Windows.

Pustaka soket menyediakan satu set fungsi API yang serupa dengan pemrogram yang digunakan untuk bekerja dengan fail, seperti terbuka (), baca (), menulis (), dan tutup ().