- 论坛徽章:
- 0
|
- #include "unp.h"
- int main(void)
- {
- int listen_fd,accept_fd;
- struct sockaddr_in client_addr;
- socklen_t socklen=sizeof(client_addr);
- int n=1;
- pid_t pid;
- init_socket(listen_fd,SOCK_STREAM,client_addr,8888);
- setsockopt(listen_fd,SOL_SOCKET,SO_REUSEADDR,&n,sizeof(int));
- listen(listen_fd,5);
- while(1)
- {
- accept_fd=accept(listen_fd,(struct sockaddr *)&client_addr,&client_addr);
- if(errno==EINTR)
- continue;
- else if(accept_fd<0)
- {
- printf("Accept Error:%s\n",strerror(errno));
- continue;
- }
- else
- {
- write(0,"success accept\n",strlen("success accept"));
- }
- if((pid=fork())==0)
- {
- char buffer[1024];
- n=read(accept_fd,buffer,1024);
- buffer[n]='\0';
- write(0,buffer,strlen(buffer));
- close(accept_fd);
- exit(0);
- }
- else if(n<0)
- {
- perror("fork");
- exit(0);
- }
- close(accept_fd);
- }
- }
复制代码 明明显示success accept了,但是接收不到消息 |
|