<ul id="o4jpt"></ul>
  • 設(shè)為首頁(yè) | 加入收藏 | 中文 | English
     
    產(chǎn)品搜索:
     
    網(wǎng)站首頁(yè)     ZLIP介紹   SDK開(kāi)發(fā)板   ZLIP功能  ZLWeb功能 串口服務(wù)器   版權(quán)信息     購(gòu)買方法  友情鏈接
    ZLIP功能  ZLIP function

    高級(jí)進(jìn)階

    select函數(shù)編程
    類MFC回調(diào)機(jī)制
    uc/os-II中的ZLIP

     
     類MFC回調(diào)機(jī)制  MFC Callback 您現(xiàn)在的位置→ZLIP功能  

    作為對(duì)BSD Socket接口的補(bǔ)充,ZLIP實(shí)現(xiàn)了類似MFC的回調(diào)機(jī)制。ZLIP的OnAccept、OnRecv、OnClose、OnConnect、OnRecvFrom回調(diào)機(jī)制能夠在TCP被連接、接收到數(shù)據(jù)、連接關(guān)閉、連接建立、UDP接收到數(shù)據(jù)情況下立即執(zhí)行回調(diào)函數(shù),和使用select函數(shù)編程相比回調(diào)機(jī)制在某些方面更加具有靈活性。
    實(shí)例程序test_complex_send_recv就是使用類MFC回調(diào)機(jī)制的典型例子。使用回調(diào)機(jī)制編程具有如下的固定模式:

    void OnAccept(SOCKET s) REENTRANT_SIG
    {
        /* 接受連接后的處理 */
        …
    }
    void OnRecv(SOCKET s) REENTRANT_SIG
    {
        /* 接收到數(shù)據(jù)后的處理 */
        …
    }
    void OnClose(SOCKET s) REENTRANT_SIG
    {
        /* 被關(guān)閉連接后的處理 */
        …
    }
    void OnConnect(SOCKET s) REENTRANT_SIG
    {
        /* 連接建立后的處理 */
        …
    }
    void OnRecvFrom(SOCKET s) REENTRANT_SIG
    {
        /* UDP接收到數(shù)據(jù)后的處理 */
        …
    }
    main()
    {
        …
        /* 設(shè)置回調(diào)函數(shù) */
        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)
        …
    }


    回調(diào)機(jī)制的優(yōu)點(diǎn)就在于,一旦設(shè)置好回調(diào)函數(shù)之后,用戶在main函數(shù)中不再需要處理套接字所發(fā)生的事件,使得程序結(jié)構(gòu)變得清晰、簡(jiǎn)潔。

       
     
       滬ICP備11004689號(hào)   版權(quán)所有@上海卓嵐信息科技有限公司   Design by infoo.cn  

    <ul id="o4jpt"></ul>
  • 天天欧美 | 91重口猎奇成人网站 | 大香蕉大香蕉视频影院 | 成人免费A片在线观看直播96 | 国产美女在线精品 | 国产视频一区在线 | 亚州无码专区 | 黄色免费观看网站 | 国产免费淫秽视频 | 成人99视频 |