Chinaunix首页 | 论坛 | 博客
  • 博客访问: 152132
  • 博文数量: 85
  • 博客积分: 366
  • 博客等级: 一等列兵
  • 技术积分: 455
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-16 18:32
个人简介

闲下来的时候看看书

文章分类

全部博文(85)

文章存档

2016年(1)

2013年(2)

2012年(81)

2011年(1)

我的朋友

分类:

2012-09-13 22:11:51

   int listenSock,acceptSock;
   int n;
   struct sockaddr_in servAddr;
 
   /*********创建套接字*********/
   if((listenSock = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
       printf("create sock error\n");
       exit(0);
   }
   memset( &servAddr,  0 ,  sizeof(servAddr));
   servAddr.sin_family  =  AF_INET;
   servAddr.sin_addr.s_addr  =  htonl(INADDR_ANY);
   servAddr.sin_port  =  htons(6006);         //端口号
 
   n=1;
   /*********绑定套接字**********/
   setsockopt(listenSock,SOL_SOCKET,SO_REUSEADDR,&n,sizeof(int));
   if(bind(listenSock,(struct sockaddr *)&servAddr,sizeof(servAddr)) < 0) {
       printf("bind failed\n");
   }
   /********开启侦听最多10个客户端*********/
   if(listen(listenSock,  10 ) < 0) {
       printf("listen failed\n");
   }

   while(1)
   {
       acceptSock = accept(listenSock,NULL,NULL);   //等待客户端连接
       if(acceptSock < 0)
           continue;
       if((n=fork())==0)
       {      
           char buffer[1024];
           close(listenSock);
           n=read(acceptSock,buffer,1024);         //等待读取客户端发送的信息
           write(acceptSock,"hello",5);            //发送信息给指定客户端
           printf("buffer=%s\n",buffer);
           close(acceptSock);                      //关闭此连接
           exit(0);
        }
        else if(n<0)
           printf("Fork Error\n");
        close(acceptSock);
   }
阅读(221) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~