Socket辅助函数 - Socket编程
本教程介绍socket编程时使用的所有辅助函数,及其他辅助函数的端口和服务,元网络字节顺序的教程。
write 函数:
write函数尝试写入n字节字节从缓冲区buf中相关的文件打开文件描述符,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 函数:
读函数试图打开文件描述符,fildes的相关的文件,到缓冲区buf指向读nbyte字节。
还可以使用的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 函数的地方nbyte空字节的字符串s。这个函数将被用于设置具有空值的所有套接字结构。
void bzero(void *s, int nbyte);
此函数不返回任何东西(无返回值)。
参数:
s: 指定字符串必须用空字节填充。这将是一个指向套接字的结构变量
nbyte: 指定使用null值填充字节的数量。这将是套接字结构的大小。
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: 指定的源字符串。
s2: 指定目标字符串。
nbyte: 指定要复制的字节数。
memset 函数:
memset函数也可以用来设置结构变量,并以同样的方式作为 bzero.
void *memset(void *s, int c, int nbyte);
这个函数返回一个void指针,其实设定记忆体的指针,需要相应地释放。
参数:
s: 指定源设置。
c: 指定要设置的字符nbyte地方..
nbyte: 指定的字节数进行设置。