Gambaran Keseluruhan Pengaturcaraan Socket untuk Rangkaian Komputer

Soket adalah salah satu teknologi yang paling asas dalam pengaturcaraan rangkaian komputer. Soket membolehkan aplikasi perisian rangkaian untuk berkomunikasi menggunakan mekanisma standard yang dibina dalam perkakasan rangkaian dan sistem operasi.

Walaupun ia mungkin kedengaran seperti ciri lain dalam pembangunan perisian Internet, teknologi soket telah wujud jauh sebelum Web. Dan, kebanyakan aplikasi perisian rangkaian hari ini bergantung pada soket.

Apa Sokongan Boleh Dilakukan Untuk Rangkaian Anda

Suatu soket mewakili sambungan tunggal antara dua keping perisian (sambungan titik-ke-titik yang dipanggil). Lebih daripada dua keping perisian boleh berkomunikasi dengan klien / pelayan atau sistem diedarkan dengan menggunakan soket berbilang. Sebagai contoh, banyak penyemak imbas Web boleh secara serentak berkomunikasi dengan pelayan Web tunggal melalui sekumpulan soket yang dibuat pada pelayan.

Perisian berasaskan soket biasanya dijalankan pada dua komputer berasingan di rangkaian, tetapi soket juga boleh digunakan untuk berkomunikasi secara tempatan ( interprocess ) pada satu komputer. Socket adalah bidirectional , yang bermaksud bahawa kedua-dua belah sambungan itu mampu menghantar dan menerima data. Kadang-kadang satu aplikasi yang memulakan komunikasi disebut "klien" dan aplikasi lain "pelayan," tetapi terminologi ini membawa kepada kekeliruan dalam peer to peer networking dan pada umumnya harus dielakkan.

API Socket dan Perpustakaan

Beberapa perpustakaan yang melaksanakan antara muka pengaturcaraan aplikasi standard (API) wujud di Internet. Pakej arus perdana pertama - Perpustakaan Socket Berkeley masih digunakan secara meluas dalam sistem UNIX. Satu lagi API yang biasa ialah pustaka Windows Sockets (WinSock) untuk sistem operasi Microsoft. Berkaitan dengan teknologi komputer lain, API soket agak matang: WinSock telah digunakan sejak tahun 1993 dan soket Berkeley sejak tahun 1982.

API soket agak kecil dan mudah. Kebanyakan fungsi serupa dengan yang digunakan dalam rutin input / output file seperti read () , write () . Fungsi sebenar panggilan digunakan bergantung pada bahasa pengaturcaraan dan soket perpustakaan yang dipilih.

Jenis Antara muka soket

Antara muka soket boleh dibahagikan kepada tiga kategori:

  • Soket aliran , jenis yang paling biasa, memerlukan kedua-dua pihak berkomunikasi terlebih dahulu menubuhkan sambungan soket, selepas mana data yang dilalui melalui sambungan itu akan dijamin untuk tiba dalam susunan yang sama di mana ia dihantar - apa yang dipanggil pengaturcaraan berorientasikan sambungan model.
  • Soket Datagram menawarkan semantik "sambungan-kurang". Dengan datagram, sambungan tersirat dan tidak jelas seperti dengan aliran. Mana-mana pihak hanya menghantar datagram seperti yang diperlukan dan menunggu yang lain untuk bertindak balas; mesej boleh hilang dalam penghantaran atau diterima daripada perintah, tetapi ia adalah tanggungjawab aplikasi dan bukan soket untuk menangani masalah ini. Melaksanakan soket datagram boleh memberi beberapa aplikasi rangsangan prestasi dan fleksibiliti tambahan berbanding dengan menggunakan soket aliran, membenarkan penggunaannya dalam beberapa situasi.
  • Jenis soket ketiga - soket mentah - memintas sokongan terbina dalam perpustakaan untuk protokol piawai seperti TCP dan UDP . Soket mentah digunakan untuk pembangunan protokol peringkat rendah adat.

Sokongan Socket dalam Protokol Rangkaian

Soket rangkaian moden biasanya digunakan bersamaan dengan protokol Internet - IP, TCP, dan UDP. Perpustakaan yang melaksanakan soket untuk Internet Protocol menggunakan TCP untuk aliran, UDP untuk datagram, dan IP sendiri untuk soket mentah.

Untuk berkomunikasi melalui Internet, perpustakaan soket IP menggunakan alamat IP untuk mengenal pasti komputer tertentu. Banyak bahagian Internet berfungsi dengan perkhidmatan penamaan, supaya pengguna dan penyusun soket boleh bekerja dengan komputer dengan nama ( mis. , "Thiscomputer.wireless.about.com") bukannya melalui alamat ( misalnya , 208.185.127.40). Soket aliran dan datagram juga menggunakan nombor port IP untuk membezakan pelbagai aplikasi antara satu sama lain. Sebagai contoh, pelayar web di Internet tahu menggunakan port 80 sebagai komunikasi lalai bagi pelayan web.