📄 unixsock_server.c
字号:
#include <sys/socket.h>
#include <sys/un.h>
#include <sys/time.h>
#include <unistd.h>
#define NAME "unix.socket"
#define QLEN 10
#define BUFF_SIZE 256
int main()
{
int fd;
int clifd;
int len;
int rval;
int usec;
int sec;
int min;
struct timeval tvBefore;
struct timeval tvAfter;
struct timezone tzBefore;
struct timezone tzAfter;
struct sockaddr_un un;
if((fd=socket(AF_UNIX,SOCK_STREAM,0)) < 0)
{
printf("socket error!\n");
return -1;
}
unlink(NAME);
memset(&un,0,sizeof(un));
un.sun_family = AF_UNIX;
strcpy(un.sun_path,NAME);
len = sizeof(un.sun_family)+strlen(NAME);
if(bind(fd,(struct sockaddr*)&un,len)<0)
{
printf("bind error!\n");
close(fd);
return -1;
}
if(listen(fd,QLEN)<0)
{
printf("listen error\n!");
close(fd);
return -1;
}
if((clifd = accept(fd,(struct sockaddr *)&un,&len))<0)
{
printf("accept error!\n");
close(fd);
return -1;
}
unsigned int i = 1;
char buf[BUFF_SIZE] = {0};
gettimeofday (&tvBefore, &tzBefore);
while(i<100000)
{
read(clifd,buf,BUFF_SIZE);
i++;
}
gettimeofday (&tvAfter, &tzAfter);
printf("i = %ld\n",i);
usec = tvAfter.tv_usec - tvBefore.tv_usec;
sec = tvAfter.tv_sec - tvBefore.tv_sec;
min = tzAfter.tz_minuteswest - tzBefore.tz_minuteswest;
printf("minutes = %d\nseconds = %d\n useconds = %d\n",min,sec,usec);
close(clifd);
close(fd);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -