Soket Unix - Fungsi Pembantu

Bab ini menjelaskan semua fungsi helper, yang digunakan saat melakukan pemrograman soket. Fungsi pembantu lainnya dijelaskan di bab -Ports and Services, dan Jaringan Byte Orders.

The write Fungsi

Fungsi tulis mencoba menulis byte nbyte dari buffer yang ditunjukkan oleh buf ke file yang terkait dengan deskriptor file terbuka, fildes .

Anda juga dapat menggunakan fungsi send () untuk mengirim data ke proses lain.

#include <unistd.h>

int write(int fildes, const void *buf, int nbyte);

Setelah berhasil diselesaikan, write () mengembalikan jumlah byte yang sebenarnya ditulis ke file yang terkait dengan fildes. Jumlah ini tidak pernah lebih dari nbyte. Jika tidak, -1 dikembalikan.

Parameter

  • fildes - Ini adalah deskriptor soket yang dikembalikan oleh fungsi soket.

  • buf - Ini adalah penunjuk ke data yang ingin Anda kirim.

  • nbyte- Ini adalah jumlah byte yang akan ditulis. Jika nbyte adalah 0, write () akan mengembalikan 0 dan tidak ada hasil lain jika file tersebut adalah file biasa; jika tidak, hasilnya tidak ditentukan.

The read Fungsi

Fungsi baca mencoba membaca byte nbyte dari file yang terkait dengan buffer, fildes, ke dalam buffer yang ditunjukkan oleh buf.

Anda juga bisa menggunakan fungsi recv () untuk membaca data ke proses lain.

#include <unistd.h>

int read(int fildes, const void *buf, int nbyte);

Setelah berhasil diselesaikan, write () mengembalikan jumlah byte yang sebenarnya ditulis ke file yang terkait dengan fildes. Jumlah ini tidak pernah lebih dari nbyte. Jika tidak, -1 dikembalikan.

Parameter

  • fildes - Ini adalah deskriptor soket yang dikembalikan oleh fungsi soket.

  • buf - Ini adalah buffer untuk membaca informasi.

  • nbyte - Ini adalah jumlah byte untuk dibaca.

The garpu Fungsi

Fungsi garpu membuat proses baru. Proses baru yang disebut proses anak akan menjadi salinan persis dari proses pemanggilan (proses induk). Proses anak mewarisi banyak atribut dari proses induk.

#include <sys/types.h>
#include <unistd.h>

int fork(void);

Setelah berhasil menyelesaikan, fork () mengembalikan 0 ke proses anak dan ID proses dari proses anak ke proses induk. Jika tidak -1 dikembalikan ke proses induk, tidak ada proses anak yang dibuat dan errno diatur untuk menunjukkan kesalahan.

Parameter

  • void - Artinya tidak diperlukan parameter.

The Bzero Fungsi

Fungsi bzero menempatkan nbyte null byte dalam string s . Fungsi ini digunakan untuk mengatur semua struktur soket dengan nilai null.

void bzero(void *s, int nbyte);

Fungsi ini tidak mengembalikan apapun.

Parameter

  • s- Ini menentukan string yang harus diisi dengan byte nol. Ini akan menjadi titik ke variabel struktur soket.

  • nbyte- Ini menentukan jumlah byte yang akan diisi dengan nilai nol. Ini akan menjadi ukuran struktur soket.

The bcmp Fungsi

Fungsi bcmp membandingkan string byte s1 terhadap string byte s2. Kedua string diasumsikan sebagai byte nbyte.

int bcmp(const void *s1, const void *s2, int nbyte);

Fungsi ini mengembalikan 0 jika kedua string identik, 1 sebaliknya. Fungsi bcmp () selalu mengembalikan 0 ketika nbyte adalah 0.

Parameter

  • s1 - Ini menentukan string pertama yang akan dibandingkan.

  • s2 - Ini menentukan string kedua yang akan dibandingkan.

  • nbyte - Ini menentukan jumlah byte yang akan dibandingkan.

The bcopy Fungsi

Fungsi bcopy menyalin byte nbyte dari string s1 ke string s2. String yang tumpang tindih ditangani dengan benar.

void bcopy(const void *s1, void *s2, int nbyte);

Fungsi ini tidak mengembalikan apapun.

Parameter

  • s1 - Ini menentukan string sumber.

  • s2v - Ini menentukan string tujuan.

  • nbyte - Ini menentukan jumlah byte yang akan disalin.

The memset Fungsi

Fungsi memset juga digunakan untuk mengatur variabel struktur dengan cara yang sama sepertibzero. Lihatlah sintaksnya, yang diberikan di bawah ini.

void *memset(void *s, int c, int nbyte);

Fungsi ini mengembalikan pointer ke batal; pada kenyataannya, penunjuk ke memori yang ditetapkan dan Anda perlu menyesuaikannya.

Parameter

  • s - Ini menentukan sumber yang akan disetel.

  • c - Ini menentukan karakter untuk diatur di tempat nbyte.

  • nbyte - Ini menentukan jumlah byte yang akan diatur.