Linux环境网络编程
记录成长,分享知识。
Gopher大威
双非硕士一枚,自学转计算机,实习,秋招拿下腾讯、华为、京东、360、顺丰、深信服等公司offer。专注于分享计算机基础知识,数据结构与算法,面经等。
展开
-
socket编程中套接字I/O超时设置的方法
一、使用alarm函数设置超时void handler(int signum){ .... return 0;}signal(SIGALRM, handler);alarm(3);int ret = read(sockfd, buf, sizeof(buf));if(ret == -1 && errno == EINTR) errno = ETIMEOUT;else if(ret >= 0) alarm(0);比如有一个read动作,在读之前先设置一个闹钟。原创 2020-08-03 20:23:37 · 1675 阅读 · 0 评论 -
深入理解socket中的recv函数和send函数
一、函数原型**·**recv函数用于socket通信中接收消息,接口定义如下:ssize_t recv(int socket, void *buf, size_t len, int flags)参数一:指定接收端套接字描述符;参数二:指向一个缓冲区,该缓冲区用来存放recv函数接收到的数据;参数三:指明buf的长度;参数四:一般置为0;返回值:失败时,返回值小于0;超时或对端主动关闭,返回值等于0;成功时,返回值是返回接收数据的长度。**·**send函数用于socket通信中发送消息,原创 2020-08-03 11:21:38 · 11340 阅读 · 8 评论