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

📄 listener.c

📁 基于创维特S3C2410试验箱的Cs8900网卡驱动及相应的测试程序
💻 C
字号:
/*** listener.c -- a datagram sockets "server" demo*/#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <errno.h>#include <string.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#define MYPORT 4950    // the port users will be connecting to#define MAXBUFLEN 100int main(void){    int sockfd;    struct sockaddr_in my_addr;    // my address information    struct sockaddr_in their_addr; // connector's address information    int addr_len, numbytes;    char buf[MAXBUFLEN];    /* setup socket */    if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {        perror("socket");        exit(1);    }    my_addr.sin_family = AF_INET;         // host byte order    my_addr.sin_port = htons(MYPORT);     // short, network byte order    my_addr.sin_addr.s_addr = INADDR_ANY; // automatically fill with my IP    memset(&(my_addr.sin_zero), '\0', 8); // zero the rest of the struct    /* bind */    if (bind(sockfd, (struct sockaddr *)&my_addr,		sizeof(struct sockaddr)) == -1) {        perror("bind");        exit(1);    }    /* receive the string from the client and print it */    while(1)    {        addr_len = sizeof(struct sockaddr);        if ((numbytes=recvfrom(sockfd, buf, MAXBUFLEN-1 , 0,		(struct sockaddr *)&their_addr, &addr_len)) == -1) {            perror("recvfrom");            exit(1);        }	buf[numbytes] = '\0';        printf("%s says:%s",inet_ntoa(their_addr.sin_addr), buf);    }    close(sockfd);	return 0;}

⌨️ 快捷键说明

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