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

📄 func.h

📁 socket编程方面的例子
💻 H
字号:
void error(int status,int err,char *fmt,...)
{
	va_list ap;
	va_start(ap,fmt);
	fprintf(stderr,"%s",program_name);
	vfprintf(stderr,fmt,ap);
	va_end(ap);
	if(err)
	{
		fprintf(stderr,":%s(%d)",strerror(err),err);
	}
	if(status)
		EXIT(status);
}

static void set_address(char *hname,char *sname,struct sockaddr_in *sap,char *protocol)
{
	struct servent *sp;
	struct hostent *hp;
	char *endptr;
	short port;
	bzero(sap,sizeof(*sap));
	sap->sin_family=AF_INET;
	if(hname!=NULL)
	{
		if(!inet_aton(hname,&sap->sin_addr))
		{
			hp=gethostbyname(hname);
			if(hp==NULL)
				error(1,0,"unknown host: %s\n",hname);
			sap->sin_addr=*(struct in_addr*)hp->h_addr;
		}
	}
	else
		sap->sin_addr.s_addr=htonl(INADDR_ANY);
	port=strtol(sname,&endptr,0);
	if(*endptr=='\0')
		sap->sin_port=htons(port);
	else
	{
		sp=getservbyname(sname,protocol);
		if(sp==NULL)
			error(1,0,"unknown service: %s\n",sname);
		sap->sin_port=sp->s_port;
	}
}

⌨️ 快捷键说明

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