国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種傳輸數(shù)據(jù)的方法及裝置的制造方法

      文檔序號:8285191閱讀:175來源:國知局
      一種傳輸數(shù)據(jù)的方法及裝置的制造方法
      【技術領域】
      [0001]本發(fā)明涉及通信技術領域,特別涉及一種傳輸數(shù)據(jù)的方法及裝置。
      【背景技術】
      [0002]隨著通信技術的發(fā)展,終端和服務器之間建立的網(wǎng)絡連接進行數(shù)據(jù)傳輸?shù)募夹g,已經(jīng)是非常成熟的通信技術。其中,套接字socket是對網(wǎng)絡連接中TCP (Transmiss1nControl Protocol,傳輸控制協(xié)議)的封裝,通過建立socket連接可以區(qū)分來自不同應用進程與網(wǎng)絡連接之間的通信。
      [0003]現(xiàn)有技術中,應用在終端與服務器之間建立socket連接后,創(chuàng)建用于傳輸數(shù)據(jù)的工作線程,工作線程在接收數(shù)據(jù)時向操作系統(tǒng)發(fā)送接收數(shù)據(jù)的請求,此時如果服務器返回了數(shù)據(jù),則將該數(shù)據(jù)拷貝回應用的緩存空間并向工作線程返回接收成功的消息,如果服務器未返回數(shù)據(jù),則操作系統(tǒng)會等待該返回的數(shù)據(jù)并不向工作線程返回任何消息,工作線程如果未接收到返回的消息則無法進行其他的傳輸數(shù)據(jù)的操作,直到操作系統(tǒng)確認接收到服務器通過socket連接返回數(shù)據(jù)后,向工作線程返回接收成功的消息,工作線程才可以進行其他發(fā)送數(shù)據(jù)或接收數(shù)據(jù)的操作。
      [0004]在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術至少存在以下問題:
      [0005]工作線程在等待操作系統(tǒng)返回接收成功的消息時,無法進行其他操作,降低了工作線程的效率,會影響數(shù)據(jù)的利用效率。

      【發(fā)明內(nèi)容】

      [0006]為了解決現(xiàn)有技術的問題,本發(fā)明實施例提供了一種傳輸數(shù)據(jù)的方法及裝置。所述技術方案如下:
      [0007]—方面,提供了一種傳輸數(shù)據(jù)的方法,所述方法包括:
      [0008]工作線程向終端操作系統(tǒng)發(fā)起異步讀取請求,以使所述操作系統(tǒng)在接收到服務器返回給所述終端的數(shù)據(jù)時存儲所述數(shù)據(jù);
      [0009]所述工作線程接收所述操作系統(tǒng)根據(jù)所述異步讀取請求返回的用于指示檢測所述操作系統(tǒng)返回消息的第一返回值,根據(jù)所述第一返回值的指示實時檢測所述操作系統(tǒng)是否返回消息;
      [0010]當所述操作系統(tǒng)存儲所述服務器返回給所述終端的數(shù)據(jù)后,所述工作線程如果檢測出所述操作系統(tǒng)返回的用于指示處理數(shù)據(jù)的第二返回值,則根據(jù)所述第二返回值的指示處理所述返回的數(shù)據(jù)。
      [0011]另一方面,提供了一種傳輸數(shù)據(jù)的裝置,所述裝置包括:
      [0012]請求發(fā)起模塊,用于工作線程向終端操作系統(tǒng)發(fā)起異步讀取請求,以使所述操作系統(tǒng)在接收到服務器返回給所述終端的數(shù)據(jù)時存儲所述數(shù)據(jù);
      [0013]執(zhí)行模塊,用于所述工作線程接收所述操作系統(tǒng)根據(jù)所述異步讀取請求返回的用于指示檢測所述操作系統(tǒng)返回消息的第一返回值,根據(jù)所述第一返回值的指示實時檢測所述操作系統(tǒng)是否返回消息;
      [0014]第一處理模塊,用于當所述操作系統(tǒng)存儲所述服務器返回給所述終端的數(shù)據(jù)后,所述工作線程如果檢測出所述操作系統(tǒng)返回的用于指示處理數(shù)據(jù)的第二返回值,則根據(jù)所述第二返回值的指示處理所述返回的數(shù)據(jù)。
      [0015]通過工作線程向操作系統(tǒng)發(fā)起異步讀取請求,接收操作系統(tǒng)返回的第一返回值后,執(zhí)行除異步讀取操作以外的其他操作,并根據(jù)操作系統(tǒng)發(fā)送的通知消息處理服務器返回給終端的數(shù)據(jù)。避免了工作線程在請求數(shù)據(jù)的過程中被阻塞無法執(zhí)行其他操作的缺陷,提高了 socket連接傳輸數(shù)據(jù)的效率。
      【附圖說明】
      [0016]為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
      [0017]圖1是本發(fā)明實施例一提供的傳輸數(shù)據(jù)的方法流程圖;
      [0018]圖2是本發(fā)明實施例二提供的傳輸數(shù)據(jù)的方法流程圖;
      [0019]圖3是本發(fā)明實施例二提供的傳輸數(shù)據(jù)的方法中對工作線程進行實時退出的方法流程圖;
      [0020]圖4是本發(fā)明實施例二提供的傳輸數(shù)據(jù)的方法中對終端與服務器之間的連接斷開后重連的方法流程圖;
      [0021]圖5是本發(fā)明實施例二提供的傳輸數(shù)據(jù)的方法中工作線程向服務器發(fā)送心跳信息的方法流程圖;
      [0022]圖6是本發(fā)明實施例三提供的傳輸數(shù)據(jù)的裝置結(jié)構(gòu)示意圖。
      【具體實施方式】
      [0023]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細描述。
      [0024]實施例一
      [0025]本發(fā)明實施例提供了一種傳輸數(shù)據(jù)的方法,參見圖1,方法流程包括:
      [0026]101:工作線程向終端操作系統(tǒng)發(fā)起異步讀取請求,以使所述操作系統(tǒng)在接收到服務器返回給所述終端的數(shù)據(jù)時存儲所述數(shù)據(jù);
      [0027]102:所述工作線程接收所述操作系統(tǒng)根據(jù)所述異步讀取請求返回的用于指示檢測所述操作系統(tǒng)返回消息的第一返回值,根據(jù)所述第一返回值的指示實時檢測所述操作系統(tǒng)是否返回消息;
      [0028]103:當所述操作系統(tǒng)存儲所述服務器返回給所述終端的數(shù)據(jù)后,所述工作線程如果檢測出所述操作系統(tǒng)返回的用于指示處理數(shù)據(jù)的第二返回值,則根據(jù)所述第二返回值的指示處理所述返回的數(shù)據(jù)。
      [0029]本發(fā)明實施例通過工作線程向操作系統(tǒng)發(fā)起異步讀取請求,接收操作系統(tǒng)返回的第一返回值后,執(zhí)行除異步讀取操作以外的其他操作,并根據(jù)操作系統(tǒng)發(fā)送的通知消息處理服務器返回給終端的數(shù)據(jù)。避免了工作線程在請求數(shù)據(jù)的過程中被阻塞無法執(zhí)行其他操作的缺陷,提高了 socket連接傳輸數(shù)據(jù)的效率。
      [0030]實施例二
      [0031]本發(fā)明實施例提供了一種傳輸數(shù)據(jù)的方法,參見圖2,方法流程包括:
      [0032]201:工作線程向終端操作系統(tǒng)發(fā)起異步讀取請求,以使所述操作系統(tǒng)在接收到服務器返回給所述終端的數(shù)據(jù)時存儲所述數(shù)據(jù)。
      [0033]當應用啟動時首先創(chuàng)建用于傳輸數(shù)據(jù)的工作線程,并通過工作線程建立終端與服務器之間的套接字socket連接。其中,通過完成與服務器的三次握手完成與服務器建立的socket 連接。
      [0034]其中,異步讀取請求中攜帶緩沖區(qū)地址和回調(diào)函數(shù)地址。具體的,異步讀取請求為WSARecv ()函數(shù)來實現(xiàn),其目的向操作系統(tǒng)發(fā)送讀取服務器通過建立的socket連接返回的數(shù)據(jù),因此在該函數(shù)中至少會攜帶該應用對應的socket的標識,以及緩沖區(qū)地址和回調(diào)函數(shù)地址。
      [0035]其中,終端接收到服務器返回的數(shù)據(jù)后,先將數(shù)據(jù)存儲于操作系統(tǒng)的緩沖區(qū)中,應用如果需要對該數(shù)據(jù)進行處理,必須要將該數(shù)據(jù)復制到應用對應的緩沖區(qū),因此異步讀取請求中攜帶的緩沖區(qū)地址,則為該應用對應的緩沖區(qū)的地址,以指示操作系統(tǒng),終端在通過應用對應的socket接收到的數(shù)據(jù),按照異步讀取請求中攜帶的緩沖區(qū)地址進行轉(zhuǎn)存的操作。
      [0036]其中,回調(diào)函數(shù)地址是一個指針,用于告知操作系統(tǒng)應用對應的回調(diào)函數(shù)的存儲地址。因此,回調(diào)函數(shù)是一個通過函數(shù)指針調(diào)用的函數(shù),通過異步讀取請求中攜帶的回調(diào)函數(shù)地址告知給操作系統(tǒng),則是將該回調(diào)函數(shù)的指針地址作為參數(shù)傳遞給操作系統(tǒng),當操作系統(tǒng)調(diào)用該回調(diào)函數(shù)時,會根據(jù)指針地址調(diào)用指針地址對應的函數(shù),該指針地址對應的函數(shù)是屬于發(fā)送異步讀取請求的應用,其功能是處理服務器返回給終端的數(shù)據(jù)。進一步的,當終端與服務器之間建立的socket連接斷開時,即socket連接斷開時,操作系統(tǒng)還可以通過調(diào)用回調(diào)函數(shù),向應用的工作線程返回一個消息,用于告知應用socket連接斷開。
      [0037]202:所述工作線程接收所述操作系統(tǒng)根據(jù)所述異步讀取請求返回的用于指示檢測所述操作系統(tǒng)返回消息的第一返回值,根據(jù)所述第一返回值的指示實時檢測所述操作系統(tǒng)是否返回消息。<
      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1