Linux网络编程一步一步学-网络广播、组播与单播
来源:互联网 发布:淘宝不清洗第二次排查 编辑:程序博客网 时间:2024/05/16 05:27
这里以下图所示的网络为基础来说明网络通讯的各种方式:
什么是广播?
以前面的文章<Linux网络编程一步一步学-UDP方式广播通讯>为例:就是用下列命令在上图所示的主机192.168.100.xa上运行客户端程序: ./client 192.168.100.255 7838 则上图所示网络上的所有主机,只要其IP地址192.168.100.*与网络掩码(比如255.255.255.0)运算得到的子网(比如192.168.100.0)与192.168.100.xa主机所在的子网是一样的,都会在自己的7838端口收到192.168.xa主机发出来的UDP消息。消息会被复制并发到每个主机的网卡上去,网卡收到消息后提交给操作系统去处理,操作系统发现有程序在7838端口接收UDP数据则把消息转给相应的程序去处理,如果没有程序接收来自7838端口的UDP消息,则操作系统丢弃该消息。 |
/*********************************************************************
*filename: Linux网络编程一步一步学-网络广播、组播与单播
*purpose: 说明网络广播、组播与单播
*tidied by: zhoulifa(zhoulifa@163.com) 周立发(http://zhoulifa.bokee.com)
Linux爱好者 Linux知识传播者 SOHO族 开发者 最擅长C语言
*date time:2007-01-25 13:10:00
*Note: 任何人可以任意复制代码并运用这些文档,当然包括你的商业用途
* 但请遵循GPL
*Thanks to: Google.com
*Hope:希望越来越多的人贡献自己的力量,为科学技术发展出力
* 科技站在巨人的肩膀上进步更快!感谢有开源前辈的贡献!
*********************************************************************/
广播的缺点:不管主机是否有程序接收广播消息,广播消息一定会被网卡收到并提交给操作系统去处理,所以会造成网络上流量增大,对不接收广播消息的主机造成一定的负担。
什么是单播?
以前面的文章<Linux网络编程一步一步学-客户端和服务器端互相收发消息>为例:就是用下列命令在上图所示的主机192.168.100.xa上运行客户端程序: ./client 192.168.100.xf 7838 则消息只会从192.168.100.xa主机发到192.168.100.xf主机上,192.168.100.xf主机的网卡收到消息后转给操作系统去处理,操作系统再把此消息转给相应程序去处理,如果没有程序处理就丢弃该包。 |
TCP方式和UDP方式都可以实现单播。也是大多数情况下网络通讯所采取的方式。
什么是组播?
以后面的文章<Linux网络编程一步一步学-UDP组播>为例:就是用下列命令在上图所示的主机192.168.100.xa上运行客户端程序: ./mcastclient 230.1.1.1 7838 则消息只会从192.168.100.xa主机发到加入了组230.1.1.1的主机的7838端口。象广播一样,组播消息一样会被复制发到网络所有主机的网卡上,但只有宣布加入230.1.1.1这个组的主机的网卡才会把数据提交给操作系统去处理。如果没有加入组,则网卡直接将数据丢弃。 要想接收组播消息的主机必须运行命令加入组,如下方式: ./mcastserver 230.1.1.1 7838 |
组播IP地址不能用我们平时所有的C类IP地址。
- Linux网络编程一步一步学-网络广播、组播与单播
- Linux网络编程一步一步学-UDP组播
- Linux网络编程一步一步学-UDP组播
- Linux网络编程一步一步学-UDP组播
- Linux网络编程一步一步学-UDP组播
- 【Linux网络编程】广播、组播与本地网络通信
- 网络通信:单播、广播、组播
- 【UNIX网络编程】广播与多播
- zigbee网络单播、广播和组播--简单笔记
- Zigbee单播、组播、广播网络通信
- 【Linux网络编程】多播、组播
- Linux网络编程--(7)广播和组播
- Linux网络编程 之 UDP 单播
- 【二十三】 Linux网络编程——广播与组播
- 网络中的三种通讯模式:单播、广播、组播(多播)
- 网络通信之单播,广播,多播
- linux网络编程之-----多播(组播)编程
- linux网络编程之-----多播(组播)编程
- __declspec __cdecl __stdcall
- fckeditor配置详解
- Linux网络编程一步一步学-UDP编程介绍
- Linux网络编程一步一步学-UDP方式广播通讯
- 缺陷管理中的状态管理
- Linux网络编程一步一步学-网络广播、组播与单播
- 学习ASP.NET
- Linux网络编程一步一步学-UDP组播
- Linux网络编程一步一步学-同步聊天程序
- WMLScript 教程
- Linux网络编程一步一步学-编写一个HTTP协议的目录浏览和文件下载服务器
- Ext数据处理
- 对WMLScript 了解
- MFC复习(四)MFC执行期类型识别与动态创建技术