📜  Unix套接字-帮助程序功能

📅  最后修改于: 2020-11-05 04:54:21             🧑  作者: Mango


本章介绍在进行套接字编程时使用的所有辅助函数。其他帮助器功能在“端口和服务以及网络字节顺序”一章中进行了介绍。

功能

函数尝试将buf指向的缓冲区中的nbyte字节写入与打开的文件描述符fildes关联的文件中。

您也可以使用send()函数将数据发送到另一个进程。

#include 

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

成功完成后,write()返回实际写入与fildes关联的文件的字节数。此数字永远不会大于nbyte。否则,返回-1。

参量

  • fildes-它是套接字函数返回的套接字描述符。

  • buf-它是您要发送的数据的指针。

  • nbyte-它是要写入的字节数。如果nbyte为0,则如果文件为常规文件,write()将返回0,并且没有其他结果;否则,结果为0。否则,结果不确定。

读取功能

读取函数尝试从与缓冲区fildes关联的文件中读取nbyte字节到buf指向的缓冲区中。

您还可以使用recv()函数将数据读取到另一个进程。

#include 

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

成功完成后,write()返回实际写入与fildes关联的文件的字节数。此数字永远不会大于nbyte。否则,返回-1。

参量

  • fildes-它是套接字函数返回的套接字描述符。

  • buf-它是读取信息的缓冲区。

  • nbyte-它是要读取的字节数。

货叉功能

fork函数创建一个新进程。称为子进程的新进程将是调用进程(父进程)的精确副本。子进程从父进程继承许多属性。

#include 
#include 

int fork(void);

成功完成后,fork()将向子进程返回0,并将子进程的进程ID返回给父进程。否则,将-1返回到父进程,不创建任何子进程,并设置errno来指示错误。

参量

  • 无效-这意味着不需要任何参数。

bzero函数

bzero函数将nbyte空字节放入字符串s中。此函数用于将所有套接字结构设置为空值。

void bzero(void *s, int nbyte);

此函数不返回任何内容。

参量

  • s-它指定必须用空字节填充的字符串。这将指向套接字结构变量。

  • nbyte-它指定要用空值填充的字节数。这将是套接字结构的大小。

bcmp功能

bcmp函数将字节字符串s1与字节字符串s2进行比较。假定两个字符串的长度均为nbyte个字节。

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

如果两个字符串相同,则此函数返回0,否则返回1。当nbyte为0时,bcmp()函数始终返回0。

参量

  • s1-它指定要比较的第一个字符串。

  • s2-它指定要比较的第二个字符串。

  • nbyte-它指定要比较的字节数。

bcopy函数

bcopy函数nbyte个字节从字符串s1复制到字符串s2。重叠的字符串处理正确。

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

此函数不返回任何内容。

参量

  • s1-指定源字符串。

  • s2v-它指定目标字符串。

  • nbyte-指定要复制的字节数。

记忆功能

memset函数还用于以bzero相同的方式设置结构变量。看一下下面给出的语法。

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

该函数返回一个指向void的指针。实际上,是指向设置存储器的指针,您需要相应地对其进行投射。

参量

  • s-它指定要设置的源。

  • c-它指定要在nbyte位置设置的字符。

  • nbyte-它指定要设置的字节数。