当前位置: 首页 > news >正文

金融企业网站源码个人网站的作用

金融企业网站源码,个人网站的作用,网络推广和网站推广的关系,iis如何做同时运行两个网站80端口多播与组播 多播#xff08;multicast#xff09;和组播#xff08;groupcast#xff09;是相同的概念#xff0c;用于描述在网络中一对多的通信方式。在网络通信中#xff0c;单播#xff08;unicast#xff09;是一对一的通信方式#xff0c;广播#xff08;broad… 多播与组播 多播multicast和组播groupcast是相同的概念用于描述在网络中一对多的通信方式。在网络通信中单播unicast是一对一的通信方式广播broadcast是一对所有的通信方式而多播或组播是一对多的通信方式。 多播/组播通信允许一个发送者将数据包同时传输给多个接收者这些接收者形成一个接收组receiving group或多播组multicast group。发送者只需发送一次数据包而不需要为每个接收者单独发送。 只存在于udp UDP协议支持多播和广播而TCP协议不直接支持广播和多播。 UDP协议是一种无连接的协议它允许应用程序通过多播地址或广播地址发送数据包。多播地址是一个预定义的IP地址范围用于标识多播组而广播地址则是一个特殊的IP地址用于向网络中的所有主机发送数据包。 在UDP中你可以使用特定的套接字选项设置多播地址并使用sendto()函数发送数据包到多播组。接收端可以通过加入相同的多播组地址使用recvfrom()函数接收多播数据包。 相比之下TCP协议是一种面向连接的协议它提供可靠的、有序的数据传输。TCP协议不直接支持多播和广播功能因为它是基于点对点通信模型的只能通过建立一对一的连接进行数据传输。 多播接收端程序 以下是一个使用C语言编写的简单示例用于接收和发送多播数据包 #include stdio.h #include stdlib.h #include string.h #include arpa/inet.h#define MULTICAST_GROUP 239.0.0.1 // 多播组地址 #define PORT 12345 // 多播组的端口号 #define MAX_BUFFER_SIZE 1024 // 接收缓冲区大小int main() {int sockfd;struct sockaddr_in multicastAddr;struct sockaddr_in clientAddr;char buffer[MAX_BUFFER_SIZE];// 创建UDP套接字sockfd socket(AF_INET, SOCK_DGRAM, 0);if (sockfd 0) {perror(socket creation failed);exit(EXIT_FAILURE);}// 设置套接字选项允许接收多播数据int enable 1;if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, enable, sizeof(enable)) 0) {perror(setsockopt SO_REUSEADDR failed);exit(EXIT_FAILURE);}// 绑定到本地地址和端口memset(clientAddr, 0, sizeof(clientAddr));clientAddr.sin_family AF_INET;clientAddr.sin_addr.s_addr INADDR_ANY;clientAddr.sin_port htons(PORT);if (bind(sockfd, (struct sockaddr *)clientAddr, sizeof(clientAddr)) 0) {perror(bind failed);exit(EXIT_FAILURE);}// 加入多播组struct ip_mreq multicastReq;multicastReq.imr_multiaddr.s_addr inet_addr(MULTICAST_GROUP);multicastReq.imr_interface.s_addr htonl(INADDR_ANY);if (setsockopt(sockfd, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *)multicastReq, sizeof(multicastReq)) 0) {perror(setsockopt IP_ADD_MEMBERSHIP failed);exit(EXIT_FAILURE);}printf(Waiting for multicast messages...\n);while (1) {// 接收多播数据包socklen_t addrLen sizeof(multicastAddr);ssize_t recvLen recvfrom(sockfd, buffer, sizeof(buffer), 0, (struct sockaddr *)multicastAddr, addrLen);if (recvLen 0) {perror(recvfrom failed);exit(EXIT_FAILURE);}buffer[recvLen] \0;printf(Received multicast message: %s\n, buffer);}// 关闭套接字close(sockfd);return 0; }在该示例中我们使用socket()函数创建了一个UDP套接字并使用setsockopt()函数设置了SO_REUSEADDR选项以便允许套接字重新使用本地地址。然后我们使用bind()函数将套接字绑定到本地地址和端口。 接下来我们使用IP_ADD_MEMBERSHIP选项加入多播组指定了多播组地址和本地网络接口。这样套接字就可以接收到发送到指定多播组的数据包。 最后我们使用一个循环来持续接收多播数据包。使用recvfrom()函数从套接字接收数据包并打印接收到的消息。 请注意接收端和发送端应该使用相同的多播组地址和端口号以进行通信。 多播发送断程序 以下是一个使用C语言编写的简单多播发送示例 #include stdio.h #include stdlib.h #include string.h #include arpa/inet.h#define MULTICAST_GROUP 239.0.0.1 // 多播组地址 #define PORT 12345 // 多播组的端口号int main() {int sockfd;struct sockaddr_in multicastAddr;char *message Hello, Multicast!;// 创建UDP套接字sockfd socket(AF_INET, SOCK_DGRAM, 0);if (sockfd 0) {perror(socket creation failed);exit(EXIT_FAILURE);}// 设置多播组地址和端口号memset(multicastAddr, 0, sizeof(multicastAddr));multicastAddr.sin_family AF_INET;multicastAddr.sin_addr.s_addr inet_addr(MULTICAST_GROUP);multicastAddr.sin_port htons(PORT);// 发送多播数据包if (sendto(sockfd, message, strlen(message), 0, (struct sockaddr *)multicastAddr, sizeof(multicastAddr)) 0) {perror(sendto failed);exit(EXIT_FAILURE);}printf(Multicast message sent.\n);// 关闭套接字close(sockfd);return 0; }在这个示例中我们创建了一个UDP套接字并设置了多播组的地址和端口号。然后使用sendto()函数将消息发送到多播组的地址。最后关闭套接字。 注意事项 对于发送多播数据包的示例不需要显式地绑定本地端口。 在发送端我们只需创建一个UDP套接字并将数据包发送到多播组的地址。操作系统会自动选择一个本地端口进行发送。 接收端需要绑定本地端口是因为它需要告诉操作系统将接收到的多播数据包发送到哪个端口。 当接收端加入一个多播组时它需要指定一个本地端口来接收多播数据包。通过将套接字绑定到一个特定的本地端口操作系统会将接收到的多播数据包传递给该端口上运行的应用程序。 绑定本地端口的步骤通常在接收端的代码中进行以便接收来自多播组的数据包。在之前提供的多播接收示例中我们在接收端的代码中使用bind()函数将套接字绑定到本地地址和端口。 简而言之接收端绑定本地端口是为了告诉操作系统将接收到的多播数据包传递给相应的应用程序而发送端无需显式地绑定本地端口操作系统会自动选择一个可用的本地端口进行发送。
http://www.w-s-a.com/news/876748/

相关文章:

  • 房天下网站建设女生说wap是什么意思
  • 网站开发安全机制北京做网站多少钱合理
  • 扁平化 公司网站建设大型视频网站需要的资金量
  • 免费建各种网站淄博网站建设yx718
  • 凡科网建站入门教程运城市网站建设
  • 黄浦区未成年人思想道德建设网站oa系统是什么
  • 微信里的网站怎么做电子商务网站开发平台
  • 易企秀网站怎么做轮播图网站建设张世勇
  • 网站备案幕布尺寸建立网页的几个步骤
  • pc网站页面找出网站所有死链接
  • 专业做seo的网站网站内连接
  • 阿里云网站开发服务器想开网站建设公司
  • 网站开发不足之处茶叶seo网站推广与优化方案
  • 响应式网站建设系统网站优化怎么做 有什么技巧
  • 班级网站做哪些方面wordpress标签 扩展
  • 如何在电商上购物网站Wordpress 域名授权插件
  • 网站建设后台怎么弄昆明如何做好关键词推广
  • 自己怎么做个网站优酷视频网站开发
  • 2015做网站前景电子商务营销的发展现状
  • 官方网站建设情况说明电子商务网站开发的形式有
  • 网站建设玖金手指排名11专业建站公司建站系统
  • 全球排名前十网站百度网站官网网址
  • 商家在携程旅游网站怎样做宣传做网站公司苏州
  • 芜湖做网站都有哪些广州音乐制作公司
  • 青岛好的网站制作推广注册公司流程步骤
  • 怎么制作营销网站模板wordpress苗木模板
  • 手机网站样例wordpress 排序
  • 济南网站建设手机网站开发人员需要去做原型吗
  • 动易网站模板下载微信支付 wordpress
  • 学校建设外文网站情况阿里云 建设网站怎么样