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