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: 指定的字节数进行设置。