#include <unistd.h> ssize_t read(int fd, void *buf, size_t count); 复制代码 参数说明: fd:表示文件描述符,可以是标准输入(0)、标准输出(1)、标准错误(2),也可以是由open或socket函数返回的文件描述符。 buf:指向接收数据的缓冲区。 count:要读取的字节数。 返回值说明: 返回-1表示失败,读取错误。
2)返回的值小于0,此时出现了错误.我们要根据错误类型来处理. 如果错误为EINTR表示在写的时候出现了中断错误. 如果为EPIPE表示网络连接出现了问题(对方已经关闭了连接). #include<stdio.h>#include<stdlib.h>#include<errno.h>#include<string.h>#include<sys/types.h>#include<netinet/in.h>#include<sys/sock...
返回值:成功则返回新的socket 处理代码, 失败返回-1, 错误原因存于errno 中. 错误代码: 1、EBADF 参数s 非合法socket 处理代码. 2、EFAULT 参数addr 指针指向无法存取的内存空间. 3、ENOTSOCK 参数s 为一文件描述词, 非socket. 4、EOPNOTSUPP 指定的socket 并非SOCK_STREAM. 5、EPERM 防火墙拒绝此连线. 6...
1)socket的描述符,socket函数的返回值; 2)结构体指针,需要做类型转换; 3)通信地址的大小,使用sizeof计算即可; 返回值:如无错误发生,则bind()返回0。否则的话,将返回-1; 功能:主要用于绑定socket和通信地址。 3、connect函数:用于连接socket和通信地址 函数原型: #include #include int connect(int sockfd, con...
既然将套接字端点表示为文件描述符,那么只要建立连接,就可以使用read和write来通过套接字通信。read和write函数我几乎不用,了解一下即可。1> send #include <sys/socket.h>Int send(int sockfd, const void *buf, size_t nbytes, int flags);返回值:成功返回发送的字节数,出错返回-1 注意:如果...
Socket 中的 read()、write() 函数 ssize_t read(int fd, void *buf, size_t count); ssize_t write(int fd, const void *buf, size_t count); read() read 函数是负责从 fd 中读取内容。 当读成功时,read 返回实际所读的字节数。 如果返回的值是 0 表示已经读到文件的结束了,小于 0 表示出现...
主机名转地址:struct hostent *gethostbyname(const char *hostname);hostname:表示主机名;返回值:NULL,表示出错;非NULL:表示hostent结构指针; mygethostbyname.c #include<netdb.h>#include<arpa/inet.h>#include<sys/socket.h>#include<stdio.h>intmain(intargc,char**argv){char*ptr,**pptr;structhostent...
1. 创建Socket 在编程开始之前,首先需要创建一个Socket。Socket的创建使用socket()函数,该函数的返回值是一个整型文件描述符。使用此描述符,后续的Socket操作将会基于它进行。 #include <sys/socket.h> #include <stdio.h> #include <stdlib.h> int sockfd = socket(AF_INET, SOCK_STREAM, 0); // AF_INET...