设为首页 | 加入收藏 | 中文 | English
 
产品搜索:
 
网站首页     ZLIP介绍   SDK开发板   ZLIP功能  ZLWeb功能 串口服务器   版权信息     购买方法  友情链接
ZLIP功能  ZLIP function
 
 类MFC回调机制  MFC Callback 您现在的位置→ZLIP功能  

作为对BSD Socket接口的补充,ZLIP实现了类似MFC的回调机制。ZLIP的OnAccept、OnRecv、OnClose、OnConnect、OnRecvFrom回调机制能够在TCP被连接、接收到数据、连接关闭、连接建立、UDP接收到数据情况下立即执行回调函数,和使用select函数编程相比回调机制在某些方面更加具有灵活性。
实例程序test_complex_send_recv就是使用类MFC回调机制的典型例子。使用回调机制编程具有如下的固定模式:

void OnAccept(SOCKET s) REENTRANT_SIG
{
    /* 接受连接后的处理 */
    …
}
void OnRecv(SOCKET s) REENTRANT_SIG
{
    /* 接收到数据后的处理 */
    …
}
void OnClose(SOCKET s) REENTRANT_SIG
{
    /* 被关闭连接后的处理 */
    …
}
void OnConnect(SOCKET s) REENTRANT_SIG
{
    /* 连接建立后的处理 */
    …
}
void OnRecvFrom(SOCKET s) REENTRANT_SIG
{
    /* UDP接收到数据后的处理 */
    …
}
main()
{
    …
    /* 设置回调函数 */
    ZLSetCallback(s, OnAccept, CALL_BK_ACCEPT);
    ZLSetCallback(s, OnRecv, CALL_BK_RECV);
    ZLSetCallback(s, OnClose, CALL_BK_CLOSE);
    ZLSetCallback(s, OnConnect, CALL_BK_CONNECT);
    ZLSetCallback(s, OnRecvFrom, CALL_BK_RECVFROM)
    …
}


回调机制的优点就在于,一旦设置好回调函数之后,用户在main函数中不再需要处理套接字所发生的事件,使得程序结构变得清晰、简洁。

   
 
   沪ICP备11004689号   版权所有@上海卓岚信息科技有限公司   Design by infoo.cn