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

📄 udpserver.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 "listen_server.h"const char *DAYTIME_PORT="13111";intmain(int argc, char *argv[]){    int listenfd, n;    socklen_t addrlen;    char *myhost;    char timeStr[256];    struct sockaddr_storage clientaddr;    time_t now;    char b[256];    char clienthost[NI_MAXHOST];    char clientservice[NI_MAXSERV];    myhost="localhost";    if (argc > 1)        myhost=argv[1];    listenfd = listen_server(myhost, DAYTIME_PORT, AF_UNSPEC, SOCK_DGRAM);    if (listenfd < 0) {         fprintf(stderr,                  "listen_server error:: could not create listening "                 "socket\n");         return -1;    }    addrlen = sizeof(clientaddr);    for ( ; ;) {        n = recvfrom(listenfd,                     b,                     sizeof(b),                     0,                     (struct sockaddr *)&clientaddr,                      &addrlen);        if (n < 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);        memset(timeStr, 0, sizeof(timeStr));        time(&now);        sprintf(timeStr, "%s", ctime(&now));        n = sendto(listenfd, timeStr, sizeof(timeStr), 0,                    (struct sockaddr *)&clientaddr,                    addrlen);    }    return 0;}

⌨️ 快捷键说明

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