MTK之Socket篇-----基于cmnet

本文详细介绍了如何在设备中配置NVRAM以存储数据账户信息,并通过接入点CMNET建立网络连接的过程,包括设置账号ID、网络名称、用户名、密码、DNS等关键参数,以及如何通过Socket API进行网络通信,实现与服务器的连接。

注:本人博文整理至优快云以方便查阅,源博文位于EDN


首先确认能否正确读到存储在NVRAM中的data account。调用DataAccountReadyCheck(SendReq),SendReq为回调函数,如果正确读到data account便会执行函数SendReq。


这里以接入点为cmnet作为例子。

#define CMWAP_ACCOUNT_ID                       (14)……………………①

#define CMNET_ACCOUNT_ID                       (11)……………………②


①     ②的值可以通过在custom\common\pluto_mmi\Nvram_common_custpack.c中的数组


COMMON_NVRAM_EF_ABM_PS_PROFILE_DEFAULT找到对应的值,例如:CHINA MOBILE, cmnet。当然这项在MTK release出来的版本中并不一定会有,但是你可以自己添加。


分析:0x02,序号,也就是上边所定义的ACCOUNT_ID。那为什么我们用的是11,而不是2呢?这个序号是这样得到的,等于③CUSTOM_DEFINED_MAX_CSD_PROFILE_NUM + ④NVRAM_EF_ABM_GPRS_PROFILE_IDX,其中③是指CSD的个数,他具体值可以在文件custom\common\Custom_data_account.h找到。④就是对应GPRS的那个索引值,就是前面所说的0x02。关于data account的配置可以看Data_Account_Configuration_Guide.pdf文件。0x11,GSM网络名,这里设置为“CHINA  MOBILE  GPRS”,这个只是在手机界面上显示的标识GSM网的名字,可以自由设置。接着是用户名、密码、DNS。再到APN,“cmnet”,及APN长度0x05……


0x02, 0x11, 0x00, 0x00,

0x43, 0x48, 0x49, 0x4e, 0x41, 0x20, 0x4d, 0x4f, 0x42, 0x49, 0x4c, 0x45, 0x20, 0x47, 0x50, 0x52,

0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Name

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // user name

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // password

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, // dns

0x00, 0x00, 0x00, 0x00, // secondary dns

0x63, 0x6d, 0x6e, 0x65, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

0x00, 0x00, 0x00, 0x00, // apn

0x05, // apn_len

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //provurl

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //napid

0x00, //account_type

0x00, //read_only

0x02, // dcomp_algo: SND_NO_DCOMP

0x02, // hcomp_algo: SND_NO_DCOMP

0x21, // pdp_type: IPV4_ADDR_TYPE

0x01, // pdp_addr_len: NULL_PDP_ADDR_LEN

0x00, 0x00, 0x00, 0x00, // pdp_addr_val

0x00, // reserved


以cmnet连接服务器为例

⑴ 创建Socket ID,soc_create,如果返回值大于0说明创建成功

⑵设置Socket响应消息MSG_ID_APP_SOC_NOTIFY_IND的钩子函数SocketNotify,在SocketNotify中响应的消息有

SOC_READ    //接收来自服务器的信息soc_recv

SOC_WRITE  //向服务器发送消息soc_send

SOC_CONNECT //成功连接服务器

SOC_CLOSE  //关闭Socket


⑶设置Socket模式

val = 1;

soc_setsockopt(g_socket_id, SOC_NBIO, &val, sizeof(val);

val = SOC_READ | SOC_WRITE | SOC_CLOSE | SOC_CONNECT;

soc_setsockopt(g_socket_id, SOC_ASYNC, &val, sizeof(val));


如果是IP直连

⑷soc_connect,返回的正常值为SOC_WOULDBLOCK

如果是域名解析连接

⑷soc_gethostbyname,返回的正常值为SOC_WOULDBLOCK


设置域名解析结果MSG_ID_APP_SOC_GET_HOST_BY_NAME_IND的钩子函数,在该函数中判断是否正确解析了域名即app_soc_get_host_by_name_ind_struct *dns_ind->result 为 TRUE。如果解析成功,便用解析得到的IP连接服务器,调用soc_connect,返回的正常值为SOC_WOULDBLOCK。

如果连接成功会得到SOC_CONNECT消息。


⑸关闭Socket,soc_close


内容概要:本文系统阐述了企业新闻发稿在生成式引擎优化(GEO)时代下的全渠道策略与效果评估体系,涵盖当前企业传播面临的预算、资源、内容与效果评估四大挑战,并深入分析2025年新闻发稿行业五大趋势,包括AI驱动的智能化转型、精准化传播、首发内容价值提升、内容资产化及数据可视化。文章重点解析央媒、地方官媒、综合门户和自媒体四类媒体资源的特性、传播优势与发稿策略,提出基于内容适配性、时间节奏、话题设计的策略制定方法,并构建涵盖品牌价值、销售转化与GEO优化的多维评估框架。此外,结合“传声港”工具实操指南,提供AI智能投放、效果监测、自媒体管理与舆情应对的全流程解决方案,并针对科技、消费、B2B、区域品牌四大行业推出定制化发稿方案。; 适合人群:企业市场/公关负责人、品牌传播管理者、数字营销从业者及中小企业决策者,具备一定媒体传播经验并希望提升发稿效率与ROI的专业人士。; 使用场景及目标:①制定科学的新闻发稿策略,实现从“流量思维”向“价值思维”转型;②构建央媒定调、门户扩散、自媒体互动的立体化传播矩阵;③利用AI工具实现精准投放与GEO优化,提升品牌在AI搜索中的权威性与可见性;④通过数据驱动评估体系量化品牌影响力与销售转化效果。; 阅读建议:建议结合文中提供的实操清单、案例分析与工具指南进行系统学习,重点关注媒体适配性策略与GEO评估指标,在实际发稿中分阶段试点“AI+全渠道”组合策略,并定期复盘优化,以实现品牌传播的长期复利效应。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值