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

📄 listener.c,v

📁 这是P2P流媒体方案-NICE的实现源码
💻 C,V
字号:
head	1.1;access;symbols;locks; strict;comment	@ * @;1.1date	2002.07.02.19.29.52;	author rbraud;	state Exp;branches;next	;desc@@1.1log@Initial revision@text@/*** listener.c -- a datagram sockets "server" demo*/#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <string.h>#include <strings.h>#include <sys/types.h>#include <netinet/in.h>#include <sys/socket.h>#include <sys/wait.h>#include <unistd.h>#define MAXBUFLEN 100int main(int argc , char * argv[]){    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];    int MYPORT;    if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {        perror("socket");        exit(1);    }    if(argc!=2)    {	printf("format listener <port>\n");	exit(1);    }    MYPORT=atoi(argv[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 */    bzero(&(my_addr.sin_zero), 8);        /* zero the rest of the struct */    if (bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr)) == -1) {        perror("bind");        exit(1);    }while(1){    addr_len = sizeof(struct sockaddr);    if ((numbytes=recvfrom(sockfd,buf,MAXBUFLEN,0,(struct sockaddr *)&their_addr,                           (socklen_t*)&addr_len)) == -1) {        perror("recvfrom");	numbytes = 0;    }    buf[numbytes] = '\0';    sendto(sockfd,buf,MAXBUFLEN,0,(struct sockaddr *)&their_addr,addr_len);}close(sockfd);}@

⌨️ 快捷键说明

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