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

📄 cmdsock.c

📁 公关系统服务器后台程序
💻 C
字号:
#include <stdio.h>#include <string.h>#include <sys/types.h>#include <errno.h>#include <signal.h>#include <sys/wait.h>#include <fcntl.h>#include "pthread.h"#define RAND_NUM	32#define MAC_NUM		12#define SERVICE_NUM	6void handleRequest(void *sock);int cmdsockhandle(int listensock){	int worksock;	pthread_t mythread;	printf("ready accept connect!\n");	worksock=acceptSock(listensock);	printf("accepsock=%d,ls=%d\n",worksock,listensock);	if(worksock>0)	{		pthread_create(&mythread,NULL,(void*)&handleRequest,(void*)&worksock);		usleep(300);	}	else		sleep(2);}void handleRequest(void *sock){	int  *tsock;	int  worksock;	char cmdtype=0;		pthread_setcancelstate(PTHREAD_CANCEL_ENABLE,NULL);	pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS,NULL);		tsock=(int*)sock;	worksock=*tsock;	while(1)	{		int cmdlen;		char buf[32],rbuf[16];		cmdlen=readSock(worksock,&cmdtype,1);		if(cmdlen<=0)		{			system("echo 'error' >> ./err.log");			break;		}		if(cmdtype==8)		{			break;		}				readSock(worksock,buf,32);		cryptCard("/dev/systemcard",buf,rbuf);		writeSock(worksock,rbuf,16);	}	closeSock(worksock);	printf("exit ......\n");//	pthread_cancel(pthread_self());//	pthread_exit(0);}				

⌨️ 快捷键说明

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