- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MTK之GPRS相关文档
一、MTK平台Socket联网过程
???????? MTK平台中Socket创建步骤:
???????? 1.建立data account(上网账号)
???????? MMI层发送PRT_MMI_PS_SET_GPRS_DATA_ACCOUNT_REQ消息到L4C层,在消息中设定data account 的id(1-10),自定义名???????? 称,APN(cmnet,cmwap),用户名,密码,DNS等信息.
2、?? soc_create() 创建Socket;
???????? kal_int8 soc_create(kal_uint8 domain, socket_type_enum type, kal_uint8 protocol, module_type ????? mod_id, kal_uint32 nwk_account_id);
3、?? 1??? soc_setsockopt 设置Socket为非阻塞模式;
???????? kal_int8 soc_setsockopt(kal_int8 s, kal_uint16 option, kal_uint8 *val, kal_uint8 val_size);
???????? 第二个参数option设置为SOC_NBIO(socket非阻塞模式)
???????????????????????????????????? 设置为SOC_ASYNC(异步i/o)
2???????? soc_setsockopt 设置Socket选项为连接,读,写,关闭;
???????? val = SOC_READ | SOC_WRITE | SOC_CLOSE | SOC_CONNECT;
???? soc_setsockopt(socket_id,SOC_NBIO,val, sizeof(val))
4、?? 如果是CMNET联网并且请求中用到了英文域名还需要解析域名soc_gethostbyname,除非使用ip作为域名,解析出来的IP作为我们建立连接的目标IP;如果是CMWAP联网,直接跳到第5步,直接连接移动或联通的网关:72:80;
5、?? soc_connect与服务器建立连接;
???????? kal_int8 soc_connect(kal_int8 s, sockaddr_struct *addr);
6、?? soc_send??? 发送请求;
???????? kal_int32 soc_send(kal_int8 s, kal_uint8 *buf, kal_int32 len, kal_uint8 flags);
???????? 其中buf字串需要遵守http连接协议,例如访问/下的的格式如下:
???????? GET HTTP/1.1
???????? Host::80
???????? User-Agent: */*
???????? Accept:*/*
???????? X-Online-Host:
???????? Connection:Keep-Alive
7、?? soc_recv???? 接收服务器返回的数据;
???????? kal_int32 soc_recv(kal_int8 s, kal_uint8 *buf, kal_int32 len, kal_uint8 flags);
???????? buf用来保存接收到的字符串,这里需要注意buf的长度不能超过2000,否则上真机的时候一到申请内存空间时就会死机,这里我????? 用循环来接收信息并写入文件.
8、?? soc_close??? 关闭Socket;
???????? kal_int8 soc_close(kal_int8 s);
9、?? 如果需要关闭数据账户soc_close_nwk_account();
其他的一些
10、启动定时器
???????? void StartTimer(U16 timerid, U32 delay, FuncPtr funcPtr)
???????? 在等待服务器响应时需要用到
11、关闭定时器
???????? void StopTimer(U16 timerid)
12. 打开文件
FSAL_Status FSAL_Open(STFSAL *pstFSAL, void *szFile, FSAL_FileMode eMode)
13. 写文件
FSAL_Status FSAL_Write(STFSAL *pstFSAL, kal_uint8 *pbBuf, kal_uint32 uSize)
14. 关闭文件
FSAL_Status FSAL_Close(STFSAL *pstFSAL)
15. 回调函数
您可能关注的文档
- 泊松过程及例子2.ppt
- 2012高一生物课件:第1节 细胞的增殖(课件4)(新人教版必修1).ppt
- GPRS优化培训.ppt
- 【状元之路】2011苏教语文高考1轮复习:第二部分 第二章 古诗鉴赏 第三节 鉴赏诗歌的表达技巧2.2.3.ppt
- 第6-2 选择假设检验的方法.ppt
- 第二节:机械零件设计的基本准则和一般设计步骤.ppt
- 随机过程2-5.ppt
- 移动GPRS_VPN业务介绍.ppt
- 全业务考试复习资料.doc
- ppt 课件制作教程 第2章 经典实例:制作古诗词曲鉴赏课件.ppt
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)