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

📄 klaunchserver.old

📁 在XWindows下使用打印机界面发送传真
💻 OLD
字号:
#include <string.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>static int socketFd = -1;static int acceptFd = -1;static int createSocket(int argc, char **argv);static int closeSocket(void);static int acceptConnection(void);static int handleRequest(void);static void closeConnection(void);int main(int argc, char **argv){	int rv = 0;	if (!createSocket(argc, argv))	{		return -1;	}	while (1)	{		if (!acceptConnection())		{			rv = -2;			break;		}		if (!handleRequest())		{			rv = -3;			break;		}		closeConnection();	}	closeSocket();		return rv;}static int createSocket(int argc, char **argv){	int rv = 0;	struct sockaddr_in sa;	int portInt = 6666;	if (argc < 2)	{		return rv;	}	portInt = atoi(argv[1]);	socketFd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);	if (socketFd < 0)	{		return rv;	}	sa.sin_family      = AF_INET;	sa.sin_port        = htons(portInt);	sa.sin_addr.s_addr = htonl(INADDR_ANY);	if (bind(socketFd, (struct sockaddr *)&sa, sizeof(struct sockaddr))		< 0)	{		return rv;	}	if (listen(socketFd, 10) < 0)	{		return rv;	}	rv = 1;	return rv;}static int closeSocket(void){	(void)close(socketFd);}static int acceptConnection(void){	int rv = 1;	struct sockaddr_in sa;	int saSize;	acceptFd = accept(socketFd, &sa, &saSize);	if (acceptFd < 0)	{		rv = 0;	}	return rv;}static int handleRequest(void){	int rv = 0;	char request[2048];	if (read(acceptFd, request, 2047) < 0)	{		return;	}	printf("accept: %s\n", request);	(void)system(request);	rv = 1;	return rv;}static void closeConnection(void){	(void)close(acceptFd);}

⌨️ 快捷键说明

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