TCP服务端例程代码

```C

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <sys/socket.h>

#include <netinet/in.h>

#include <arpa/inet.h>

#include <unistd.h>

#define PORT 8888

#define MAXLINE 1024

int main(int argc, char *argv[]) {

    int listenfd, connfd; 

    struct sockaddr_in servaddr, cliaddr;           

    socklen_t cliaddr_len;

    char buf[MAXLINE];

    char str[INET_ADDRSTRLEN];

    int i, n;   

    listenfd = socket(AF_INET, SOCK_STREAM, 0); 

    bzero(&servaddr, sizeof(servaddr));      

    servaddr.sin_family = AF_INET;     

    servaddr.sin_addr.s_addr=htonl(INADDR_ANY);     

    servaddr.sin_port = htons(PORT);    

    bind(listenfd, (struct sockaddr *)&servaddr, sizeof(servaddr));    

    listen(listenfd, 20);     

    printf("Accepting connections ...\n");     

    while (1) {

        cliaddr_len = sizeof(cliaddr);         

        connfd = accept(listenfd, (struct sockaddr *)&cliaddr, &cliaddr_len);          

        inet_ntop(AF_INET, &cliaddr.sin_addr, str, sizeof(str));        

        printf("Received a connection from %s\n", str);

        while (1) {

            n = read(connfd, buf, MAXLINE);

            if (n == 0){

                printf("The client %s closed the connection\n", str); break;

            }

            printf("Received message from %s: %s", str, buf);

            for (i = 0; i < n; i++) {

                buf[i] = toupper(buf[i]);

            }

            write(connfd, buf, n);

        }

        close(connfd);

    }

    return 0;

}

```

试试看!

猜你喜欢

转载自blog.csdn.net/m0_71082338/article/details/129475620
今日推荐