symbian中socket实现HTTP流程

用Socket类来实现HTTP协议,

Socket是用TCP的协议。
HTTP



本文用到了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.完毕。

注:本文是自己总结的,有的可能看过以后不知道东南西北。如果有需要可以和我联系。

共同进步。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值