91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 7KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-16
  • 語言: 其他
  • 標簽: Linux??組播??socket??

資源簡介

Linux下組播源碼,含客戶端和服務器 接收端 zb_recv.c 發送端 zb_recv.c

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?

//#define?PORTNUM?5000
//#define?GROUPIP?“224.0.1.1“

#define?PORTNUM?1900
#define?GROUPIP?“239.255.255.250“

#define?BUFLEN?1024
#define?TESTNUM?10

int?main()
{
int?sock_id;
struct?sockaddr_in?addr?sender;
struct?ip_mreq?ipmr;
char?buf[BUFLEN];
socklen_t?len;
int?ret;
int?count;

/*?Step?1:?open?a?socket?and?bind?*/
if?((sock_id?=?socket(AF_INET?SOCK_DGRAM?0))? {
perror(“socket?error“);
exit(1);
}

memset((void*)&addr?0?sizeof(addr));
addr.sin_family?=?AF_INET;
addr.sin_addr.s_addr?=?htonl(INADDR_ANY);
addr.sin_port?=?htons(PORTNUM);

if?(bind(sock_id?(struct?sockaddr?*)&addr?sizeof(addr))? {
perror(“bind?error“);
exit(1);
}

/*?Step?2:?fill?in?a?struct?ip_mreq?*/
memset((void*)&ipmr?0?sizeof(ipmr));
ipmr.imr_multiaddr.s_addr?=?inet_addr(GROUPIP);?/*?multicast?group?ip?*/
ipmr.imr_interface.s_addr?=?htonl(INADDR_ANY);
printf(“ip?:%s\n“inet_ntoa(ipmr.imr_interface.s_addr));

/*?Step?3:?call?setsockopt?with?IP_ADD_MEMBERSHIP?to?support?receiving?multicast?*/
if?(setsockopt(sock_id?IPPROTO_IP?IP_ADD_MEMBERSHIP?&ipmr?sizeof(ipmr))? {
perror(“setsockopt:IP_ADD_MEMBERSHIP“);
exit(1);
}

/*?Step?4:?call?recvfrom?to?receive?multicast?packets?*/
len?=?sizeof(sender);
count?=?0;
while?(count? {
ret?=?recvfrom(sock_id?buf?BUFLEN?0?(struct?sockaddr?*)&sender?&len);
buf[ret]?=?‘\0‘;
if?(ret? {
perror(“recvfrom?error“);
exit(1);
}
printf(“addr?ip?:%s\n“inet_ntoa(ipmr.imr_interface.s_addr));
printf(“ip?:%s\n“inet_ntoa(ipmr.imr_interface.s_addr));
printf(“%d.?Receive?from?%s:%u\n“?count
inet_ntoa(sender.sin_addr.s_addr)?ntohs(sender.sin_port));
printf(“\tpacket?data:?%s\n“?buf);
}

/*?Step?5:?call?setsockopt?with?IP_DROP_MEMBERSHIP?to?drop?from?multicast?*/
if?(setsockopt(sock_id?IPPROTO_IP?IP_DROP_MEMBERSHIP?&ipmr?sizeof(ipmr))? {
perror(“setsockopt:IP_DROP_MEMBERSHIP“);
exit(1);
}

/*?Step?6:?close?the?socket?*/
close(sock_id);

return?0;
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????7671??2013-05-12?10:01??zb_socket\zb_recv

?????文件???????2227??2013-05-12?10:01??zb_socket\zb_recv.c

?????文件???????7469??2013-05-12?09:36??zb_socket\zb_send

?????文件???????1150??2013-04-24?12:56??zb_socket\zb_send.c

?????文件????????132??2010-08-07?11:05??zb_socket\說明.txt

?????目錄??????????0??2013-07-15?17:15??zb_socket

-----------?---------??----------?-----??----

????????????????18649????????????????????6


評論

共有 條評論