用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位的字串。一般我們...