博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mtk联网高级操作
阅读量:2222 次
发布时间:2019-05-08

本文共 1359 字,大约阅读时间需要 4 分钟。

我直接在真机试了这个例子,更本就连接不成功,soc_creat还正常,到了soc_connect的时候就有问题,老是返回错误码-14,有大虾是什么原因吗?

有没有先建立GPRS或CDMA?只有先连接了才有IP,才能上网,否则设备上网络是不同的,你可以用IE先试上网,它自己会连接,我写程序已经实现了

 

GPRS和CDMA连接并且正常使用Socket

因为你使用的socket是阻塞的,所以你连接后它一直等待连接反应,程序就死了,不过过一段时间超时后就不会死了

 

acount id就是MTK对各种拨号配置的一组编号

比如CMCC的cmwap 80等信息是一组 acount id =15
CU的一组是16
如果你想使用CMCC的配置上网就传15 CU的配置就传16

MTK网络是手机网络,同PC上的网络不同,手机网络包括GPRS连接和TCP连接,

  所以建立MTK的网络连接时需要首先设置好网络账号,建立GPRS连接,在GPRS连接建立后,
  再去建立TCP连接。具体流程如下:
1、设置网络账号的接入点:
在MTK的网络中分wifi、GPRS和GSM三种,我们在上网时使用最多的是GPRS方式。一般情况下,GSM和GPRS分别各有10个账号,在网络->数据账号资料里面可以看到。
GSM的10个账号资料对应的id是从0-9,GPRS的10个账号资料对应的id是从10-19。每个账号资料里面最关键的是接入点,通常情况下,接入点是CMWAP或CMNET。代表
是使用cmwap还是cmnet联网方式。这两种联网方式的区别在于,使用cmwap需要经过中国移动的代理服务器10.0.0.172,才能连接到最终的服务器上去。而cmnet则
直接连接到最终要访问的服务器。账号id在调用soc_create时会用到,由此就决定了用的是哪个接入点,什么方式进行联网。设置接入点可以有两种方式:
1)选择一个已经设置好接入点的账号id,直接拿来使用。
2)通过异步的发消息PRT_MMI_PS_SET_GPRS_DATA_ACCOUNT_REQ方式设置你想要用的账号资料的接入点。
2、生成应用id
appid = cbm_register_app_id((U16) MAIN_MENU_FUNANDGAMES_TEXT, GetRootTitleIcon(MAIN_MENU_FUNANDGAMES_ICON));
如果需要,将GPRS状态设置为保持,这样在每次关闭socket描述符后,不会
关闭GPRS连接,这样在下一次建立TCP连接时,会节省建立GPRS连接的时间,
否则,每次调用soc_connect的时候会自动去建立GPRS连接,这样会花掉3-6秒。
cbm_hold_bearer(MOD_MMI, appid);
3、转换账号id,在MTK联网时,需要用到一个账号id,如果是双卡的手机,
在调用soc_create之前,账户id需要做转换。
nwk_account = cbm_encode_data_account_id(nwk_account, sim_id, appid, KAL_FALSE);
4、创建socket,设置成异步非阻塞的方式,建立TCP连接,设置回调函数,发送和接收数据。
5、关闭socket

转载地址:http://kyifb.baihongyu.com/

你可能感兴趣的文章
LightGBM 如何调参
查看>>
用 TensorFlow.js 在浏览器中训练神经网络
查看>>
cs230 深度学习 Lecture 2 编程作业: Logistic Regression with a Neural Network mindset
查看>>
梯度消失问题与如何选择激活函数
查看>>
为什么需要 Mini-batch 梯度下降,及 TensorFlow 应用举例
查看>>
为什么在优化算法中使用指数加权平均
查看>>
什么是 Q-learning
查看>>
用一个小游戏入门深度强化学习
查看>>
5 分钟入门 Google 最强NLP模型:BERT
查看>>
初探Java设计模式4:一文带你掌握JDK中的设计模式
查看>>
初探Java设计模式5:一文了解Spring涉及到的9种设计模式
查看>>
Java集合详解1:一文读懂ArrayList,Vector与Stack使用方法和实现原理
查看>>
Java集合详解2:一文读懂Queue和LinkedList
查看>>
Java集合详解3:一文读懂Iterator,fail-fast机制与比较器
查看>>
Java集合详解4:一文读懂HashMap和HashTable的区别以及常见面试题
查看>>
Java集合详解5:深入理解LinkedHashMap和LRU缓存
查看>>
Java集合详解6:这次,从头到尾带你解读Java中的红黑树
查看>>
Java集合详解8:Java集合类细节精讲,细节决定成败
查看>>
Java并发指南1:并发基础与Java多线程
查看>>
Java并发指南2:深入理解Java内存模型JMM
查看>>