2.2.2 小试牛刀--模拟实现Windows的UDP程序(3)
4. 分析广播消息发送流程
广播消息发送流程如图2-12所示。程序首先创建UDP套接字,如果创建成功则设置广播地址;由于进行的是广播,所以要将套接字设置为广播类型,即SO-BROADCAST;如果套接字未设置成功,则可以避免向指定的广播地址广播消息了。广播结束后(即达到最多的消息条数),关闭套接字,释放占用的资源。
|
| 图2-12 广播消息发送流程图 |
5. 分析广播消息接收流程
广播消息的接收流程如图2-13所示。程序首先创建UDP套接字,如果创建成功则设置本地地址和广播地址,本地地址用于绑定套接字,广播地址是广播消息接收的地址。同发送广播消息一样,接收消息的套接字也要设置选项,不同的是,这里将套接字设置成可重用类型的,即SO-REUSEADDR,选项级别为SOL-SOCKET。这样一来,在相同的本地接口及端口上可以进行多次监听,即在同一台主机上,可以启动多个消息接收端来接收广播消息,如果不设置这个选项,则在同一台主机上,只能启动一个消息接收端来接收消息。套接字选项设置成功后,绑定本地地址与套接字,即可以从广播地址接收广播消息,如果接收的消息条数达到最大限制,则结束程序,关闭套接字,释放占用的资源。
|
| 图2-13 广播消息接收流程图 |