首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

希望大家指点下,为什么一直“accpet error”,程序错在哪里?先多谢了

2012-04-02 
希望大家指点下,为什么一直“accpet error”,程序错在哪里?先谢谢了1#includestdio.h2#includeerrno.h3#

希望大家指点下,为什么一直“accpet error”,程序错在哪里?先谢谢了
1 #include<stdio.h>
 2 #include<errno.h>
 3 #include<sys/types.h>
 4 #include<stdlib.h>
 5 #include<string.h>
 6 #include<netinet/in.h>
 7 #include<sys/socket.h>
 8 
 9 #define portnumber 3333
10 
11 
12 int main(int argc,char **argv)
13 {
14 int err,pid,sd,new_sd,connect_sd,s_bind,s_listen;
15 int sin_size,nbytes;
16 char s_buffer[1024];
17 char c_buffer[1024];
18 
19 struct sockaddr_in server_addr,client_addr;
20 struct hostent *host;
21 
22 
23 
24 sd=socket(AF_INET,SOCK_STREAM,0);
25 if(sd==-1) {
26 fprintf(stderr,"socket error\n",strerror(errno));
27 exit(1);
28 }
29 
30 bzero(&server_addr,sizeof(struct sockaddr_in));
31 server_addr.sin_family=AF_INET;
32 server_addr.sin_addr.s_addr=htonl(INADDR_ANY);
33 server_addr.sin_port=htons(portnumber);
34 
35 s_bind=bind(sd,(struct sockaddr *)(&server_addr),sizeof(struct sockaddr));^M
36 if(s_bind==-1) {
37 fprintf(stderr,"bind error:\n",strerror(errno));
38 exit(1);
39 }
40 
41 
42 s_listen=listen(sd,5);
43 if(s_listen) {
44 fprintf(stderr,"listen error:\n",strerror(errno));
45 exit(1);
46 }
47 
48 while(1) {
49 sin_size=sizeof(struct sockaddr);
50 new_sd=accept(sd,(struct sockaddr *)(&client_addr),&sin_size);
51 
52 
53 if(new_sd==-1) {
54 fprintf(stderr,"accept error :\n",strerror(errno));
55 
56 continue;
57 }
58 if((pid=fork())==0) {
59 nbytes=read(new_sd,s_buffer,10);
60 if(nbytes==-1) {
61 fprintf(stderr,"read error\n",strerror(errno));
62 exit(1);
63 }
64 s_buffer[nbytes]='\0';
65 printf("recive:%s",s_buffer);
66 close(new_sd);
67 exit(0);
68 }
69 else {
70 
71 close(sd);
72 }
73 }
74 return 0;
75 }
76 
  1,4  


[解决办法]
描述一下题目呀,哪里的ACM

热点排行