admin 发表于 2022-3-7 19:00:16

UDP Node 组件

项目主页 http://www.oschina.net/p/hp-socket 下载地址 https://github.com/ldcsaa/HP-Socket
37
⚫ 客户端应用程序调用 Send() 方法向服务端应用程序发出数据后,客户端应用程序
将收到 OnSend 事件。
⚫ 服务端应用程序向客户端应用程序发送数据时,客户端应用程序将收到 OnReceive
事件。
⚫ 断开连接时,客户端应用程序将收到 OnClose 事件。
⚫ 客户端应用程序调用 Stop() 方法关闭 Client 组件,如果调用成功则返回 TRUE 并
收到 OnClose 事件。
2.5 UDP Node 组件
2.5.1 接口描述
图 2.5.1-1 UDP Node 组件接口IUdpNode
+Start()
+Stop()
+Wait()
+Send()
+SendPackets()
+SendCast()
+SendCastPackets()
+SetExtra()
+GetExtra()
+HasStarted()
+GetState()
+GetLastError()
+GetLastErrorDesc()
+GetLocalAddress()
+GetCastAddress()
+GetCastMode()
+GetPendingDataLength()
+SetMaxDatagramSize()
+GetMaxDatagramSize()
+SetMultiCastTtl()
+GetMultiCastTtl()
+SetMultiCastLoop()
+IsMultiCastLoop()
+SetReuseAddressPolicy()
+GetReuseAddressPolicy()
+SetWorkerThreadCount()
+GetWorkerThreadCount()
+SetPostReceiveCount()
+GetPostReceiveCount()
+SetFreeBufferPoolSize()
+GetFreeBufferPoolSize()
+SetFreeBufferPoolHold()
+GetFreeBufferPoolHold()
<<destroy>>+IUdpNode()

HP-Socket v5.7.x 版本开始,提供 UDP Node(UDP 节点)组件:IUdpNode。UDP Node
与 HP-Socket 的其它通信组件不同,它没有“连接”的概念(因此也没有 Connection ID),
行为模式类似于普通 UDP Socket,可以同时与任何 UDP 应用程序通信。该组件可以以单播、
组播和广播三种模式运行。UDP Node 组件接口如图 2.5.1-1 所示是一个独立的接口,不继承
于 其 它 任 何 接 口 。 主 要 接 口 方 法 如 表 2.5.1-1 所 示 , 其 它 接 口 方 法 请 参 考
include/hpsocket/SocketInterface.h 文件的相关注释:

UDP Node 监听器接口如图 2.5.1-2 所示也是一个独立的接口,不继承于其它任何接口。
接口回调事件如表 2.5.1-2 所示:


data:image/png;base64,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
data:image/png;base64,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
图 2.5.2-1 展示了应用程序与 UDP Node 组件的交互流程:
⚫ 应用程序调用 Start() 方法启动 UDP Node 组件,如果调用成功则返回 TRUE 并收
到 OnPrepareListen 事件。
⚫ 应用程序调用 Send()、SendCast() 等方法发送单播、组播或广播数据,数据发出后
应用程序将收到 OnSend 事件。
⚫ 远程应用程序向应用程序发送数据时,应用程序将收到 OnReceive 事件。
⚫ 数据发送或接收出现异常时,应用程序将收到 OnError 事件。
⚫ 应用程序调用 Stop() 方法关闭 UDP Node 组件,如果调用成功则返回 TRUE 并收
到 OnShutdown 事件。
页: [1]
查看完整版本: UDP Node 组件