Chinaunix首页 | 论坛 | 博客
  • 博客访问: 934069
  • 博文数量: 104
  • 博客积分: 1919
  • 博客等级: 上尉
  • 技术积分: 1910
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-21 16:33
文章分类
文章存档

2016年(4)

2015年(1)

2014年(6)

2013年(16)

2012年(27)

2011年(49)

2010年(1)

分类: LINUX

2011-12-12 18:02:46

   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);
   }
阅读(1638) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

星期五啦2011-12-14 00:31:46

一点注释都木有啊……