对一段C语言服务器代码的详解

  • 其代码如下
#include <stdio.h>
#include<stdlib.h>
#include<sys/socket.h>
#include<unistd.h>
#define SERV_PORT 9898
#define SERV_IP "127.0.0.1"
#include<ctype.h>
#include<arpa/inet.h>
int main()
{

    int lfd,cfd,n,i;
    char buf[BUFSIZ];
    struct sockaddr_in serv_addr,client_addr;
    socklen_t client_addr_len;
    lfd=socket(AF_INET,SOCK_STREAM,0);//
    serv_addr.sin_family=AF_INET;
    serv_addr.sin_port=htons(SERV_PORT);
    serv_addr.sin_addr.s_addr=htonl(INADDR_ANY);//
    bind(lfd,(struct sockaddr*)&serv_addr,sizeof(serv_addr));
    listen(lfd,128);//128 is uplimit
    client_addr_len=sizeof(client_addr);
    cfd=accept(lfd,(struct client_addr*)&client_addr,&client_addr_len);//will recv fd and return fd
    while(1)
    {
        n=read(cfd,buf,sizeof(buf));
        for(i=0;i<n;i++)
        {
            buf[i]=toupper(buf[i]);
        }
        write(cfd,buf,n);
    }

    printf("Hello World!\n");
    return 0;
}

测试:打开一个终端输入 nc 127.0.0.1 9898

猜你喜欢

转载自www.cnblogs.com/saintdingspage/p/12123879.html