- Unix Socket 教程
- Unix Socket - 首页
- Unix Socket - 什么是 Socket?
- Unix Socket - 网络地址
- Unix Socket - 网络主机名
- Unix Socket - 客户端服务器模型
- Unix Socket - 结构体
- Unix Socket - 端口和服务
- Unix Socket - 网络字节序
- Unix Socket - IP 地址函数
- Unix Socket - 核心函数
- Unix Socket - 辅助函数
- Unix Socket - 服务器示例
- Unix Socket - 客户端示例
- Unix Socket - 总结
- Unix Socket 有用资源
- Unix Socket - 快速指南
- Unix Socket - 有用资源
- Unix Socket - 讨论
Unix Socket - 辅助函数
本章描述了在进行套接字编程时使用的所有辅助函数。其他辅助函数在以下章节中进行了描述:端口和服务以及网络字节序。
write 函数
write 函数尝试将 buf 指向的缓冲区中的 nbyte 个字节写入与打开的文件描述符 fildes 关联的文件。
您还可以使用 send() 函数将数据发送到另一个进程。
#include <unistd.h> int write(int fildes, const void *buf, int nbyte);
成功完成时,write() 返回实际写入与 fildes 关联的文件的字节数。此数字绝不超过 nbyte。否则,返回 -1。
参数
fildes - 它是由 socket 函数返回的套接字描述符。
buf - 它是指向您要发送的数据的指针。
nbyte - 要写入的字节数。如果 nbyte 为 0,则 write() 将返回 0 并且如果文件是常规文件则没有其他结果;否则,结果未指定。
read 函数
read 函数尝试从与缓冲区 fildes 关联的文件中读取 nbyte 个字节,并将这些字节读入 buf 指向的缓冲区。
您还可以使用 recv() 函数读取数据到另一个进程。
#include <unistd.h> int read(int fildes, const void *buf, int nbyte);
成功完成时,write() 返回实际写入与 fildes 关联的文件的字节数。此数字绝不超过 nbyte。否则,返回 -1。
参数
fildes - 它是由 socket 函数返回的套接字描述符。
buf - 读取信息的缓冲区。
nbyte - 要读取的字节数。
fork 函数
fork 函数创建一个新的进程。新进程称为子进程,它将是调用进程(父进程)的精确副本。子进程继承了父进程的许多属性。
#include <sys/types.h> #include <unistd.h> int fork(void);
成功完成时,fork() 返回 0 给子进程,并将子进程的进程 ID 返回给父进程。否则,返回 -1 给父进程,不创建子进程,并且 errno 被设置为指示错误。
参数
void - 表示不需要参数。
bzero 函数
bzero 函数在字符串 s 中放置 nbyte 个空字节。此函数用于将所有套接字结构设置为 null 值。
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 函数
memset 函数也用于以与 bzero 相同的方式设置结构变量。请查看下面给出的语法。
void *memset(void *s, int c, int nbyte);
此函数返回指向 void 的指针;实际上,是指向已设置内存的指针,您需要根据需要对其进行强制转换。
参数
s - 指定要设置的源。
c - 指定要在 nbyte 个位置上设置的字符。
nbyte - 指定要设置的字节数。