Pengaturcaraan C

Soket POSIX dengan Pengaturcaraan C

Soket POSIX dengan Pengaturcaraan C

Soket POSIX atau hanya Soket ditakrifkan sebagai titik akhir komunikasi. Sebagai contoh, jika dua pihak, A dan B, berniat untuk berkomunikasi antara satu sama lain, maka diharuskan kedua-dua pihak ini menjalin hubungan antara titik akhir masing-masing. Soket menyediakan pihak yang berkomunikasi dengan pintu masuk melalui mana mesej bergerak. Sekiranya kita bercakap mengenai klien dan pelayan, maka tugas soket sisi pelayan adalah untuk mendengar sambungan yang masuk, sedangkan soket sisi pelanggan akan bertanggungjawab untuk menyambung ke soket sisi pelayan. Artikel ini bertujuan untuk menjadikan konsep soket POSIX dengan pengaturcaraan C menjadi lebih jelas.

Contoh Menggunakan Posix Socket dengan Pengaturcaraan C di Linux Mint 20

Contoh yang dikemukakan kepada anda dalam bahagian ini akan menunjukkan interaksi antara pelanggan dan pelayan. Pelanggan dan pelayan adalah dua entiti utama model pelanggan / pelayan dalam dunia pengkomputeran. Dalam contoh kami, klien dan pelayan akan menghantar dan menerima mesej ke dan dari satu sama lain sambil menggunakan POSIX Socket dengan pengaturcaraan C di Linux Mint 20. Untuk memberikan kejelasan dalam memahami kod tersebut, kami telah memisahkan kod sisi pelanggan dan kod sisi pelayan dan akan menerangkan kedua-duanya kepada anda secara berasingan di bawah.

Kod Sisi Pelayan

Untuk kod sisi pelayan, kami hanya membuat dokumen kosong di Home Directory sistem Linux Mint 20 kami dan menamakannya sebagai pelayan.c. Dalam dokumen kosong itu, anda perlu menulis coretan kod yang ditunjukkan dalam tiga gambar di bawah:

Kod yang ditunjukkan dalam gambar di atas mungkin kelihatan panjang, namun, mari kita cuba memahaminya dengan cara yang sangat mudah. Pertama sekali, kami telah membuat soket dan melampirkannya dengan nombor port yang dikehendaki, yang dalam kes kami adalah 8080. Kemudian kami telah menulis fungsi mendengar, yang ada untuk mencari semua sambungan masuk dari pelanggan. Pada dasarnya, pelanggan berjaya menyambung ke pelayan hanya kerana adanya fungsi mendengar ini. Setelah sambungan ini dibuat, pelayan siap untuk menghantar dan menerima data ke dan dari klien.

Fungsi baca dan hantar berfungsi untuk tujuan menerima dan mengirim mesej kepada pelanggan. Kami telah menentukan mesej lalai dalam kod kami bahawa kami ingin menghantar pelanggan kami, dan itu adalah "Hello dari pelayan". Setelah mengirim pesan ini kepada klien, pesan akan ditampilkan di sisi klien, sedangkan pesan yang mengatakan "Hello message dikirim" akan ditampilkan di sisi pelayan. Ini semua mengenai kod sisi pelayan kami.

Kod Sisi Pelanggan

Sekarang, untuk kod sisi pelanggan, sekali lagi, kami telah membuat dokumen kosong di Home Directory sistem Linux Mint 20 kami dan menamakannya sebagai klien.c. Dalam dokumen kosong itu, anda perlu menulis coretan kod yang ditunjukkan dalam dua gambar di bawah:

Dalam kod sisi pelanggan yang ditunjukkan dalam gambar di atas, kami telah membuat soket dengan cara yang sama seperti yang kami lakukan untuk kod sisi pelayan. Kemudian, ada fungsi sambung yang akan berusaha untuk membuat sambungan dengan pelayan melalui port yang ditentukan. Dan setelah sambungan ini diterima oleh pelayan, pelanggan dan pelayan akan siap untuk menghantar dan menerima mesej antara satu sama lain.

Sekali lagi, sama seperti kod sisi pelayan, fungsi hantar dan baca ada untuk menghantar dan menerima mesej dari pelayan. Juga, kami telah menyebutkan mesej lalai yang ingin kami kirimkan ke pelayan, dan itu adalah "Hello from client". Setelah mengirim pesan ini ke pelayan, pesan ini akan ditampilkan di sisi pelayan, sedangkan pesan yang mengatakan "Halo pesan dikirim" akan ditampilkan di sisi klien. Dan ini membawa kita ke akhir penjelasan mengenai kod sisi pelanggan kami.

Menyusun dan Menjalankan Kod Sisi Pelanggan dan Pelayan

Jelas, kami akan menyimpan kedua-dua fail sisi pelanggan dan pelayan kami setelah menulis program-program ini maka kami akan siap untuk menyusun dan menjalankan kod-kod ini. Oleh itu, kita akan dapat menggambarkan interaksi antara pelanggan dan pelayan yang baru kita buat. Untuk mencapai objektif ini, kita harus melancarkan dua terminal yang berbeza kerana kita seharusnya menjalankan dua program yang berasingan. Satu terminal akan dikhaskan untuk menjalankan kod sisi pelayan, dan yang lain untuk kod sisi pelanggan.

Oleh itu, untuk menyusun kod sisi pelayan kami, kami akan melaksanakan perintah berikut di terminal pertama:

pelayan $ gcc.pelayan c -o

Setelah menjalankan perintah ini, jika tidak ada kesalahan dalam kod sisi pelayan anda, maka tidak ada yang akan ditampilkan di terminal, yang akan menjadi petunjuk penyusunan yang berjaya.

Dengan cara yang sama, kami akan menyusun kod sisi pelanggan dengan arahan yang ditunjukkan di bawah dengan menjalankannya di terminal kedua:

pelanggan $ gcc.pelanggan c -o

Setelah kedua-dua kod disusun, kami akan menjalankannya satu persatu. Walau bagaimanapun, kita mesti menjalankan kod sisi pelayan terlebih dahulu kerana sepatutnya mendengar permintaan sambungan. Kod sisi pelayan boleh dijalankan dengan arahan berikut:

$ ./ pelayan

Setelah menjalankan kod sisi pelayan, kita dapat menjalankan kod sisi pelanggan dengan perintah yang ditunjukkan di bawah:

$ ./ pelanggan

Setelah kedua-dua klien dan pelayan aktif, anda akan menyaksikan output yang ditunjukkan dalam gambar berikut di kedua-dua terminal:

Kesimpulannya

Mudah-mudahan, setelah melalui contoh yang dikongsi dengan anda dalam artikel ini, anda dapat menggunakan Soket POSIX dengan cekap untuk menghantar dan menerima data antara pelanggan dan pelayan. Contoh ini hanyalah demonstrasi asas soket Posix dengan pengaturcaraan C, namun, anda bahkan dapat menjadikan program ini lebih rumit mengikut keperluan anda.

Pasang permainan Strategi OpenRA terkini di Ubuntu Linux
OpenRA adalah mesin permainan Strategi Masa Nyata / Bebas yang mencipta semula permainan Westwood awal seperti Command & Conquer klasik: Makluman Mera...
Pasang Dolphin Emulator terkini untuk Gamecube & Wii di Linux
Dolphin Emulator membolehkan anda memainkan permainan Gamecube & Wii pilihan anda di Komputer Peribadi Linux (PC). Menjadi emulator permainan sumber ...
Cara Menggunakan Mesin Cheat GameConqueror di Linux
Artikel ini merangkumi panduan mengenai penggunaan mesin cheat GameConqueror di Linux. Ramai pengguna yang bermain permainan di Windows sering menggun...