EOF仅仅是一种状态或者说条件,需要触发。read调用遇到文件结尾,触发该条件,结果将返回0。针对EOF,对于标准输入设备,普通文件,管道文件,网络套接字文件是read如何触发呢?下面程序将说明:
server.c 是socket套接字服务端,目的为了网络套接字文件是read如何触发测试用的。
#include <sys/socket.h>
#include <netinet/in.h>
#include <stdio.h>
int main()
{
int connfd;
struct sockaddr_in servadd;
int sockfd=socket(AF_INET, SOCK_STREAM, 0);
bzero(&servadd, sizeof(servadd));
servadd.sin_family=AF_INET;
servadd.sin_port=htons(9999);
servadd.sin_addr.s_addr=inet_addr("192.168.60.136");
socklen_t len = sizeof(servadd);
socklen_t Reuseaddr = 1;