很多资料将其翻译为“端点”,我们不如也这么叫。
在windows上使用不同的软件进行通信,数据包到达不同的应用的方法就是通过寻找IP地址和端口号来确定某一个应用的,也就是我们所说的五元组(源IP,目的IP,源端口,目的端口,通信协议)操作系统为应用程序提供了很多端口,消息由IP地址到达操作系统,再由端口找到处理消息的应用程序。
同样的道理,在ZigBee的应用程序框架里(结构图请看《深入浅出Z-Stack 2006 OSAL多任务资源分配机制》)包含了最多240个应用程序对象,每个应用程序对象在OSAL中对应了一个任务,当网络层接收到信息以后如何决定将此信息传递给哪个任务呢?ENDPOINT决定了传递方向,于是我们可以说ENDPOINT的作用与TCP/IP协议中的端口的作用是一样的
这样一说也就基本上明白了,在一个终端设备上是可以有多个endpoint的,每一个endpoint对应一个taskid,根据通信中的endPointDesc_t结构体能找到相对应的taskid,任务也就能到底指定的位置。