int main() { int sock_fd, conn_fd; socklen_t cli_len; char choice; struct sockaddr_in cli_addr, serv_addr; pid_t pid; char buf[3]; int c; memset(&serv_addr, 0, sizeof(struct sockaddr_in)); serv_addr.sin_family = AF_INET; serv_addr.sin_port = htons(9523); serv_addr.sin_addr.s_addr = htonl(INADDR_ANY); if( (sock_fd = socket(AF_INET, SOCK_STREAM, 0)) < 0 ) { fprintf(stderr, "line: %d \n", __LINE__); } if(bind(sock_fd, (struct sockaddr *)&serv_addr, sizeof(struct sockaddr_in)) < 0) { fprintf(stderr, "line: %d \n",__LINE__); } if(listen(sock_fd, 13) < 0) { fprintf(stderr, "line:%d \n",__LINE__); } /**********************************************************************************/ cli_len = sizeof(struct sockaddr_in); while(1) { conn_fd = accept(sock_fd, (struct sockaddr *)&cli_addr, &cli_len); if(conn_fd < 0) { fprintf(stderr, "line: %d\n",__LINE__); } printf("accept a new client ,ip: %s\n", inet_ntoa(cli_addr.sin_addr)); pid = fork(); if(pid == 0) { if(recv(conn_fd, buf, sizeof(buf), 0) < 0) { fprintf(stderr,"line:%d ",__LINE__); } c = atoi(buf); printf("%d\n", c); switch(c) { case 1: zhuce(conn_fd); break; case 2: denglu(conn_fd); break; } }wait(NULL); }}
void MAIN(void) { char buf[10]; while(1) { sen.pro = 0; system("clear"); printf("--------------------\n"); printf("--->使用前请务必先看使用说明<--\n\n"); printf("--------------------\n"); printf("---------MT---------\n"); printf("--------------------\n"); printf("1-------登录--------\n"); printf("2-------注册--------\n"); printf("3-----忘记密码------\n"); printf("4-----使用说明------\n"); printf("5-----建议反馈------\n"); printf("6-------退出--------\n"); printf("--------------------\n"); printf("\n请输入你的选择:\n"); memset(buf,0,10); fgets(buf,10,stdin); if(strlen(buf) > 2) { continue; } if(buf[0] == '1') { denglu(); } else if(buf[0] =='2') { zhuce(); } else if(buf[0] == '3') { system("clear"); printf("详请咨询<765885195>\n"); printf("\n按任意键继续.....\n"); getchar(); } else if(buf[0] == '4') { system("clear"); system("cat MT"); printf("\n按任意键返回...\n"); getchar(); } else if(buf[0] == '5') { jianyi(); } else if(buf[0] == '6') { exit(0); } } }