在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 淺談遠(yuǎn)程診斷技術(shù)在電控發(fā)動(dòng)機(jī)方面的應(yīng)用

            淺談遠(yuǎn)程診斷技術(shù)在電控發(fā)動(dòng)機(jī)方面的應(yīng)用

            作者: 時(shí)間:2016-12-20 來(lái)源:網(wǎng)絡(luò) 收藏

            int pascal far listen( socket s, int backlog );

            參 數(shù): s:需要建立監(jiān)聽(tīng)的socket;

            backlog:最大連接個(gè)數(shù);

            服務(wù)器端的socket調(diào)用完listen()后,如果此時(shí)客戶端調(diào)用connect()函數(shù)提出連接申請(qǐng)的話,server 端必須再調(diào)用accept() 函數(shù),這樣服務(wù)器端和客戶端才算正式完成通信程序的連接動(dòng)作。為了知道什么時(shí)候客戶端提出連接要求,從而服務(wù)器端的socket在恰當(dāng)?shù)臅r(shí)候調(diào)用accept()函數(shù)完成連接的建立,我們就要使用wsaasyncse-lect()函數(shù),讓系統(tǒng)主動(dòng)來(lái)通知我們有客戶端提出連接請(qǐng)求了。該函數(shù)調(diào)用成功返回0,否則返回socket_error。

            int pascal far wsaasyncse-lect( socket s, hwnd hwnd,unsigned int wmsg, long levent );

            參數(shù): s:socket 對(duì)象;

            hwnd :接收消息的窗口句柄;

            wmsg:傳給窗口的消息;

            levent:被注冊(cè)的網(wǎng)絡(luò)事件,也即是應(yīng)用程序向窗口發(fā)送消息的網(wǎng)路事件,該值為下列值fd_read、fd_write、fd_oob、fd_accept、fd_connect、fd_close的組合,各個(gè)值的具體含意為fd_read:希望在套接字s收到數(shù)據(jù)時(shí)收到消息;fd_write:希望在套接字s上可以發(fā)送數(shù)據(jù)時(shí)收到消息;fd_accept:希望在套接字s上收到連接請(qǐng)求時(shí)收到消息;fd_connect:希望在套接字s上連接成功時(shí)收到消息;fd_close:希望在套接字s上連接關(guān)閉時(shí)收到消息;fd_oob:希望在套接字s上收到帶外數(shù)據(jù)時(shí)收到消息。

            具體應(yīng)用時(shí),wmsg應(yīng)是在應(yīng)用程序中定義的消息名稱,而消息結(jié)構(gòu)中的lparam則為以上各種網(wǎng)絡(luò)事件名稱。所以,可以在窗口處理自定義消息函數(shù)中使用以下結(jié)構(gòu)來(lái)響應(yīng)socket的不同事件:  

            switch(lparam) 
            {
            case fd_read:
                 …  
              break;
            case fd_write、
                …
              break;
                …
            }

            電控單元(ECU)的通信協(xié)議主要就封裝在該消息響應(yīng)函數(shù)當(dāng)中。

            (5)服務(wù)器端接受客戶端的連接請(qǐng)求

            當(dāng)client提出連接請(qǐng)求時(shí),server 端hwnd視窗會(huì)收到winsock stack送來(lái)我們自定義的一個(gè)消息,這時(shí),我們可以分析lparam,然后調(diào)用相關(guān)的函數(shù)來(lái)處理此事件。為了使服務(wù)器端接受客戶端的連接請(qǐng)求,就要使用accept() 函數(shù),該函數(shù)新建一socket與客戶端的socket相通,原先監(jiān)聽(tīng)之socket繼續(xù)進(jìn)入監(jiān)聽(tīng)狀態(tài),等待他人的連接要求。該函數(shù)調(diào)用成功返回一個(gè)新產(chǎn)生的socket對(duì)象,否則返回invalid_socket。

            socket pascal far accept( scoket s, struct sockaddr far *addr,int far *addrlen );
            參數(shù):s:socket的識(shí)別碼;
            addr:存放來(lái)連接的客戶端的地址;
            addrlen:addr的長(zhǎng)度

            (6)結(jié)束 socket 連接

            結(jié)束服務(wù)器和客戶端的通信連接是很簡(jiǎn)單的,這一過(guò)程可以由服務(wù)器或客戶機(jī)的任一端啟動(dòng),只要調(diào)用closesocket()就可以了,而要關(guān)閉server端監(jiān)聽(tīng)狀態(tài)的socket,同樣也是利用此函數(shù)。另外,與程序啟動(dòng)時(shí)調(diào)用wsastartup()憨數(shù)相對(duì)應(yīng),程式結(jié)束前,需要調(diào)用 wsacleanup() 來(lái)通知winsock stack釋放socket所占用的資源。這兩個(gè)函數(shù)都是調(diào)用成功返回0,否則返回socket_error。

            int pascal far closesocket( socket s );
            參 數(shù):s:socket 的識(shí)別碼;
            int pascal far wsacleanup( void );
            參 數(shù): 無(wú)

            3.系統(tǒng)實(shí)現(xiàn)與應(yīng)用

            遠(yuǎn)程故障診斷系統(tǒng)要完成數(shù)據(jù)的傳輸需要建立一套完整的數(shù)據(jù)傳輸系統(tǒng)。系統(tǒng)中包括:DTU,電控單元(ECU)、移動(dòng)網(wǎng)絡(luò)、后臺(tái)中心。

            3.1網(wǎng)絡(luò)拓?fù)鋱D:

            圖2 網(wǎng)絡(luò)結(jié)構(gòu)

            3.2系統(tǒng)實(shí)現(xiàn)方式

            (1)終端設(shè)備,GPRS模塊(DTU)

            首先通過(guò)AT命令對(duì)GPRS模塊進(jìn)行設(shè)置,設(shè)置要連接的中心IP和端口及其它必要性的設(shè)置,設(shè)置好之后電控單元(ECU)通過(guò)RS232接口和GPRS模塊相連,GPRS模塊上電之后根據(jù)事先設(shè)置好的中心IP和端口進(jìn)行連接,成功連接到服務(wù)中心后即可雙向傳輸數(shù)據(jù)。即可實(shí)現(xiàn)在線遠(yuǎn)程監(jiān)控電控單元(ECU)狀態(tài)與下載電控單元(ECU)程序。



            評(píng)論


            技術(shù)專區(qū)

            關(guān)閉