A simply server code with c.

#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>

#include <stdio.h>
/*#include <stdlib.h>*/
/*#include <unistd.h>*/
/*#include <arpa/inet.h>*/


#define MYPORT 3490
#define BACKLOG 10 /*how many pending connections queue will hold*/


main(void ){
   int sockfd,new_fd;
   struct sockaddr_in my_addr;/*my address information*/
   struct sockaddr_in their_addr;/* connector's address information*/
   int sin_size;

   if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1){
        printf("socket");
        exit(1);
   }

   my_addr.sin_family=AF_INET;
   my_addr.sin_port=htons(MYPORT);
   my_addr.sin_addr.s_addr=INADDR_ANY;/*auto-fill with my IP*/
   memset(&(my_addr.sin_zero),'/0',8);

   /*don't forget your error checking for these calls:
   */
   if(bind(sockfd,(struct sockaddr *)&my_addr,sizeof(struct sockaddr))==-1){
        printf("bind");
        exit(1);
   }

   if(listen(sockfd,BACKLOG)==-1){
        printf("listen");
        exit(1);
   }

   while(1){
      sin_size=sizeof(struct sockaddr_in);
      if((new_fd=accept(sockfd,(struct sockaddr *)&their_addr,&sin_size))==-1){
        printf("accept");
        continue;
      }
      printf("server:got connection from %s/n", inet_ntoa(their_addr.sin_addr));

        close(sockfd);
        if(send(new_fd,"Hello,World!/n",14,0)==-1)
           printf("send");
        close(new_fd);
        exit(0);
   }
   return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值