socket编程--相关函数--sendto();read();

2019-09-11 16:36:25 浏览数 (3)

{1} 头文件:#include <sys/types.h> #include <sys/socket.h> 定义函数:int sendto(int s, const void * msg, int len, unsigned int flags, const struct sockaddr * to, int tolen); 函数说明:sendto() 用来将数据由指定的socket 传给对方主机. 参数s 为已建好连线的socket. 参数msg 指向欲连线的数据内容, 参数flags 一般设0, 详细描述请参考send(). 参数to 用来指定欲传送的网络地址, 结构sockaddr 请参考bind(). 参数tolen 为sockaddr 的结果长度. 返回值:成功则返回实际传送出去的字符数, 失败返回-1, 错误原因存于errno 中.

{2}头文件:#include <unistd.h> 定义函数:ssize_t read(int fd, void * buf, size_t count); 函数说明:read()会把参数fd 所指的文件传送count 个字节到buf 指针所指的内存中. 若参数count 为0, 则read()不会有作用并返回0. 返回值为实际读取到的字节数, 如果返回0, 表示已到达文件尾或是无可读取的数据,此外文件读写位置会随读取到的字节移动.

附加说明: 如果顺利 read()会返回实际读到的字节数, 最好能将返回值与参数count 作比较, 若返回的字节数比要求读取的字节数少, 则有可能读到了文件尾。

摘自 c语言中文网

0 人点赞