📄 klaunchserver.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 + -