免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1564 | 回复: 0
打印 上一主题 下一主题

简单多线程FTP [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-04 16:39 |只看该作者 |倒序浏览
省略头文件和宏

void thread()
{
       int recvbytes,client_fd;
       char buf[MAXDATASIZE];
       if((recvbytes=recv(client_fd,buf,MAXDATASIZE,0))<0){
         perror("recv";
         exit(1);
       }
       printf("recveived a connection:%s\n",buf);
       pthread_exit(0);
}
int main()
{
       struct sockaddr_in server_sockaddr,client_sockaddr;
       int sin_size,recvbytes;
       int sockfd,client_fd;
       char buf[MAXDATASIZE];
       int m,i;
       pthread_t l;
       if((sockfd=socket(AF_INET,SOCK_STREAM,0))<0){
          perror("error";
          exit(1);
       }
        printf("socket success=%d\n",sockfd);
       server_sockaddr.sin_family=AF_INET;
       server_sockaddr.sin_port=htons(SERVPORT);
       server_sockaddr.sin_addr.s_addr=INADDR_ANY;
       bzero(&(server_sockaddr.sin_zero),;
       if(bind(sockfd,(struct sockaddr *)&server_sockaddr,sizeof(struct sockaddr))<0){
         perror("error";
         exit(1);
       }
       printf("bin success\n";
      if(listen(sockfd,BACKLOG)<0){
        perror("error";
        exit(1);
      }
       printf("listening....\n";
loop: if((client_fd=accept(sockfd,(struct sockaddr *)&client_sockaddr,&sin_size))<0){
       perror(" eroor";
       exit(1);
       }
      if(i<11){
         if(pthread_create(&l,NULL,(void*)thread,NULL)>0){
            printf("create success\n";
            exit(0);
            i++;
         }
      }
      else{
         printf("error";
         exit(1);
      }
      goto loop;
       close(sockfd);
}

能通过编译,好像pthread_create用的不对,指点一下吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP