با ياد او
با سلام
اين كد مربوط به سوكت tcp براي سرور هست اما با vc كه ميام كامپايل كنم ارور ميده ،به include هاگير ميده.
ممنون ميشم بنده رو تو كامپايل كردن اين كد ياري بÙرماييد .
با سلام
اين كد مربوط به سوكت tcp براي سرور هست اما با vc كه ميام كامپايل كنم ارور ميده ،به include هاگير ميده.
ممنون ميشم بنده رو تو كامپايل كردن اين كد ياري بÙرماييد .
کد:
#include "stdafx.h" #include "stdio.h" #include "stdlib.h" #include "unistd.h" #include "errno.h" #include "string.h" #include "sys/types.h" #include "sys/socket.h" #include "netinet/in.h" #include "arpa/inet.h" #include "sys/wait.h" #include "signal.h" #define MYPORT 3490 #define BACKLOG 10 void sigchld_handler(int s) { while(waitpid(-1,NULL,WNOHANG) > 0 ); } in main(void) { int sockfd, new_fd; struct sockaddr_in my_addr; struct sockaddr_in their_addr; socklen_t sin_size; struct sigaction sa; int yes=1; if ((sockfd = socket(PF_INET,SOCK_STREAM,0) == -1 ){ perror("socket"); exit(1); } if (setsockopt(sockfd,SOL_SOCKET,SO_REUSEADDR,&yes,sizeof(int) == -1 ){ perror("setsockopt"); exit(1); } my_addr.sin_family = AF_INET; my_addr.sin_port = htons(MYPORT); my_addr.sin_addr.s_addr = INADDR_ANY; memset(&(my_addr.sin_zero),'\0\',8); if (bind(struct sockaddr *)&myaddr,sizeof(struct sockaddr) == -1){ perror ("bind"); exit(1); } if (listen(sockfd,BACKLOG)== -1 ){ perror("listen"); exit(1); } sa.sa_handler = sigchld_handler; sigemptyse(&sa.sa_mask); sa.sa_flags = SA_RESTART; if (sigaction(SIGCHLD, &sa, NULL) == -1){ perror("sigaction"); exit(1); } while(1){ sin_size = sizeof(struct sockaddr_in); if ((new_fd = accept(sockfd, (struct sockaddr *)&their_addr,&sin_size)) == -1){ perror("accept"); countinue; } printf("server:got connection from %s\n", inet_ntoa(their_addr.sin_addr)); if (!fork()) { close(sockfd); if (send(new_fd, "Hello\n",14,0) == -1) perror("accept"); close(new_fd); exit(0); } close(new_fd); } return 0; }
Comment