Listener Functions
AvbAccept
函数
该函数用于在指定监听器(Listener)上接受传入的连接请求,从而创建一个新的监听器。若操作失败,函数返回0。
语法
dword AvbAccept(dword listenerHandle);
参数
listenerHandle:监听器句柄。
返回值
- 0:函数执行失败。调用
AvbGetLastError获取详细错误码。 -
0:新的监听器句柄。
可用性
- 版本:8.2 SP2
- 限制:仅适用于以太网
- 测量设置:---
- 仿真/测试设置:•
AvbCloseListener
函数
该函数用于关闭监听器。成功执行后,传入的监听器句柄将失效。
语法
dword AvbCloseListener(dword listenerHandle);
参数
listenerHandle:待关闭的监听器句柄。
返回值
- 0:函数执行成功。
-
0:错误码。
可用性
- 版本:8.2 SP2
- 限制:仅适用于以太网
- 测量设置:---
- 仿真/测试设置:•
AvbListen
函数
该函数使监听器开始监听传入的连接请求,请求将通过传入的 CAPL 回调函数 OnAvbListen 提供。
同时支持监听通过以下传输协议传播的流连接请求:
- AVTP
- RTP over UDP (*)
- RTSP over TCP (**)(仅当
RtspAddress属性已设置时)
可在OnAvbListen回调函数中通过AvbAccept接受连接请求。
语法
dword AvbListen(dword listenerHandle, char onListenCallback[]);
参数
listenerHandle:监听器句柄。onListenCallback:CAPL 回调函数名称(参见OnAvbListen)。
返回值
- 0:函数执行成功。
-
0:错误码。
可用性
- 版本:8.2 SP2(基础功能)、10.0(支持 RTP over UDP)、10.0 SP3(支持 RTSP over TCP)
- 限制:仅适用于以太网
- 测量设置:---
- 仿真/测试设置:•
AvbOpenListener
函数
该函数创建一个监听器,用于基于连接的、面向消息的通信。
语法
c
dword AvbOpenListener();
dword AvbOpenListener(dword streamUniqueId);
dword AvbOpenListener(byte streamSourceAddress[]);
dword AvbOpenListener(byte streamSourceAddress[], dword streamUniqueId);
参数
streamUniqueId:流的唯一标识符。streamSourceAddress:流的源 MAC 地址(48 位)。
返回值
- 0:函数执行失败。调用
AvbGetLastError获取详细错误码。 - 其他值:有效的监听器句柄,标识创建的监听器。
可用性
- 版本:8.2 SP2
- 限制:仅适用于以太网
- 测量设置:---
- 仿真/测试设置:•
AvbReceive
函数
该函数将数据接收到指定缓冲区中。
- 若接收操作立即完成,函数通过
length参数返回接收的元素数量,且不调用 CAPL 回调OnAvbReceive。 - 若接收操作未立即完成,将异步执行并返回 460609,操作完成(成功或失败)后调用
OnAvbReceive。
语法
c
dword AvbReceive(dword listenerHandle, int buffer[], dword& length, char onReceiveCallback[]); // 形式1
dword AvbReceive(dword listenerHandle, long buffer[], dword& length, char onReceiveCallback[]); // 形式2
dword AvbReceive(dword listenerHandle, byte buffer[], dword& length, char onReceiveCallback[]); // 形式3
参数
listenerHandle:监听器句柄。buffer:用于存储接收数据的缓冲区。length:数据缓冲区长度。onReceiveCallback:CAPL 回调函数名称(参见OnAvbReceive)。
返回值
- 0:函数执行成功。
- 460609:操作挂起,将稍后完成。
- 其他值:错误码。
可用性
- 版本:8.2 SP2(形式1-2)、8.5(形式3)
- 限制:仅适用于以太网
- 测量设置:---
- 仿真/测试设置:•