⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tcpserver.c

📁 sock编程 一个tcp源码一个udp源码 希望大家喜欢
💻 C
字号:
#include <sys/types.h>#include <sys/socket.h>#include <netdb.h>#include <stdio.h>#include <errno.h>#include <time.h>#include <unistd.h>#include "listen_server.h"const char *DAYTIME_PORT="13111";intmain(int argc, char *argv[]){    int listenfd, connfd;    socklen_t addrlen;    char timeStr[256];    struct sockaddr_storage clientaddr;    time_t now;    char clienthost[NI_MAXHOST];    char clientservice[NI_MAXSERV];    /* local server socket listening at daytime port=13 */    listenfd = listen_server(NULL, DAYTIME_PORT,                              AF_UNSPEC, SOCK_STREAM);    if (listenfd < 0) {         fprintf(stderr,                 "listen_socket error:: could not create listening "                 "socket\n");         return -1;    }    for ( ; ;) {        addrlen = sizeof(clientaddr);        /* accept daytime client connections */        connfd = accept(listenfd,                         (struct sockaddr *)&clientaddr,                         &addrlen);        if (connfd < 0)             continue;        memset(clienthost, 0, sizeof(clienthost));        memset(clientservice, 0, sizeof(clientservice));        getnameinfo((struct sockaddr *)&clientaddr, addrlen,                    clienthost, sizeof(clienthost),                    clientservice, sizeof(clientservice),                    NI_NUMERICHOST);        printf("Received request from host=[%s] port=[%s]\n",               clienthost, clientservice);        /* process daytime request from a client */        memset(timeStr, 0, sizeof(timeStr));        time(&now);        sprintf(timeStr, "%s", ctime(&now));        write(connfd, timeStr, strlen(timeStr));        close(connfd);    }    return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -