symbian中socket實現HTTP流程

2021-05-23 05:50:48 字數 905 閱讀 9405

用socket類來實現http協議,

socket是用tcp的協議。

本文用到了4個活動物件。

1.rconnection開啟網路通道

2.socketengine

3.socketread

4.socketwrite

操作的流程如下:

1.先開啟網路通道類。獲取乙個資訊通道,例如:gprs、wlen

2.傳送乙個**,例如http://www.baidu.com/s?wd=a,並確定是get方式還是post方式。

3.在socketengine中,根據get或post方式來解析網域名稱、路徑、引數。

get:解析網域名稱、路徑和引數

post:解析網域名稱、路徑、引數

4.連線dns。如果是ip位址,就不用執行setactive了。如果不是ip位址,就需要用rhostresolver來解析網域名稱了。

5.當解析成功後,開啟socket.open(),然後socket.connect()伺服器。

6.當連線成功的時候,就傳送資料。

7.socketwrite來傳送資料。

8.當傳送過資料後,就用socketread()來接收資料。

9.當第一次接收到資料後,就把transfer-encoding: chunked後面的資料,讀取出來,這個資料時16進製制的資料,表示本次內容的總位元組數。然後轉換為10進製的。

10.把讀取到的資料都追加到乙個字串中,然後統計字串的大小。如果獲取字串的總大小大於上邊16進製制的總大小,就說明資料接收完畢。

11.解析獲取的字串,把網頁的狀態碼、body內容都提取出來。反應到socketengine類中。

12.完畢。

注:本文是自己總結的,有的可能看過以後不知道東南西北。如果有需要可以和我聯絡。

共同進步。

Symbian中同步socket用法

symbian中同步socket用法 下邊的 是介紹同步socket的用法 需要用到的lib,可能不全,請看sdk的help自己新增 esock.lib 需要的標頭檔案,可能不全,請看sdk的help自己新增 include include include if defined wins lit k...

Symbian中陣列的使用

字串陣列的使用 1.定義 在 rss中 resource array r goldenminer help array lbuf lbuf lbuf lbuf lbuf lbuf lbuf lbuf 注 只能用 lbuf 使用tbuf 不能執行 2.使用gc.usefont aknlayoututi...

Symbian 中的字串

symbian 中的字串根據儲存來分,可以分為兩大類,8位和16位字串。如果只處理,英文,數字什麼的當然8位就夠了。可是在中國,肯定不可避免的要處理中文。在 symbian系統裡,中文或者其他各種複雜的文字都必須使用unicode來處理,每個字用2個位元組進行儲存,因此就產生了16位的字串。一般我們...