⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 start_connect.c

📁 unix网络编程第一卷socket编程书上的全部源代码
💻 C
字号:
#include	"web.h"voidstart_connect(struct file *fptr){	int				fd, flags, n;	struct addrinfo	*ai;	ai = Host_serv(fptr->f_host, SERV, 0, SOCK_STREAM);	fd = Socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);	fptr->f_fd = fd;	printf("start_connect for %s, fd %d\n", fptr->f_name, fd);		/* 4Set socket nonblocking */	flags = Fcntl(fd, F_GETFL, 0);	Fcntl(fd, F_SETFL, flags | O_NONBLOCK);		/* 4Initiate nonblocking connect to the server. */	if ( (n = connect(fd, ai->ai_addr, ai->ai_addrlen)) < 0) {		if (errno != EINPROGRESS)			err_sys("nonblocking connect error");		fptr->f_flags = F_CONNECTING;		FD_SET(fd, &rset);			/* select for reading and writing */		FD_SET(fd, &wset);		if (fd > maxfd)			maxfd = fd;	} else if (n >= 0)				/* connect is already done */		write_get_cmd(fptr);	/* write() the GET command */}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -