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

📄 logfiled.c

📁 understanding unix/linux programming source code(bruce molay)
💻 C
字号:
/************************************************************************* * logfiled.c  - a simple logfile server using Unix Domain Datagram Sockets * 	         usage: logfiled >>logfilename */#include	<stdio.h>#include	<sys/types.h>#include	<sys/socket.h>#include	<sys/un.h>#include	<time.h>#define	MSGLEN	512#define oops(m,x) { perror(m); exit(x); }#define	SOCKNAME "/tmp/logfilesock"int main(int ac, char *av[]){	int	sock;			/* read messages here	*/	struct sockaddr_un addr;	/* this is its address	*/	socklen_t addrlen;	char	msg[MSGLEN];	int	l;	char	sockname[] = SOCKNAME ;	time_t	now;	int	msgnum = 0;	char	*timestr;	/* build an address */	addr.sun_family = AF_UNIX;		/* note AF_UNIX */	strcpy(addr.sun_path, sockname);	/* filename is address */	addrlen = strlen(sockname) + sizeof(addr.sun_family);	sock = socket(PF_UNIX, SOCK_DGRAM, 0);	/* note PF_UNIX  */	if ( sock == -1 )		oops("socket",2);	/* bind the address */	if ( bind(sock, (struct sockaddr *) &addr, addrlen) == -1 )		oops("bind", 3);	/* read and write */	while(1)	{		l = read(sock, msg, MSGLEN);	/* read works for DGRAM	*/		msg[l] = '\0';			/* make it a string 	*/		time(&now);		timestr = ctime(&now);		timestr[strlen(timestr)-1] = '\0';	/* chop newline */		printf("[%5d] %s %s\n", msgnum++, timestr, msg);		fflush(stdout);	}}

⌨️ 快捷键说明

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