mtk上实现socket连接
来源:互联网 发布:手机图片编辑软件 编辑:程序博客网 时间:2024/05/22 03:44
首先要在mtk上实现socket连接,需要用到以下函数:
1. 创建socket连接
kal_int8 soc_create(kal_uint8 domain,
socket_type_enum type,
kal_uint8 protocol,
module_type mod_id,
kal_uint32 nwk_account_id)
创建socket连接,成功后将返回一个socket_id供以下函数使用.成功运行在手机上的效果是打开黄色边框的GPRS图标,对于手机nwk_account_id的值有10和14分别代表网络接入点cmwap和cmnet由于mtk 只支持cmwap方式故在此我将它设为10.参数说明请参照相关文档。
2. 设置socket非阻塞模式
kal_int8 soc_setsockopt(kal_int8 s, kal_uint16 option, kal_uint8 *val, kal_uint8 val_size)
kal_uint8 val = 1;
soc_setsockopt(socket_id,SOC_NBIO,&val, sizeof(val))
val = SOC_READ | SOC_WRITE | SOC_CLOSE | SOC_CONNECT;
soc_setsockopt(socket_id,SOC_ASYNC,&val,sizeof(val))
3. 连接中国移动网关
kal_int8 soc_connect(kal_int8 s, sockaddr_struct *addr)
手机上网与PC上网不同,手机端需要首先连接移动网关才能进行网络通信,这里需要填充结构体sockaddr_struct的addr及port成员。
4. 发送http请求
kal_int32 soc_send(kal_int8 s, kal_uint8 *buf, kal_int32 len, kal_uint8 flags)
其中buf字串需要遵守http连接协议。
5. 接收数据
kal_int32 soc_recv(kal_int8 s, kal_uint8 *buf, kal_int32 len, kal_uint8 flags)
buf用来保存接收到的字符串,这里需要注意buf的长度不能超过2000,否则上真机的时候一到申请内存空间时就会死机,可以用循环来接收信息。
6. 关闭socket连接
kal_int8 soc_close(kal_int8 s)
参数传入soc_create的返回值。
- mtk上实现socket连接
- MTK 上的socket
- MTK Socket连接API介绍
- MTK Socket连接API介绍
- MTK平台用Socket实现
- MTK Socket http连接方式流程图
- MTK平台用Socket实现HTTP请求
- socket实现多个客户端连接在一个服务器上
- mtk socket
- MTK - socket
- Mtk.Socket
- 在MTK上实现数独小游戏
- AS3 实现socket连接
- socket 实现http连接
- MTK平台下使用socket实现http通讯
- MTK平台用Socket实现HTTP请求总结
- MTK平台用Socket实现HTTP请求总结
- [转载]MTK平台用Socket实现 HTTP请求总结
- 有向图强连通分量的Tarjan算法
- 在linux系统中安装mysql服务器详细步骤并解决ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passw
- 机房收费系统-数据库设计说明书
- 优化之drawcall
- 编写软件测试用例应注意的问题
- mtk上实现socket连接
- java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.LoopTag
- 设计模式之迭代模式
- Android_实例_利用RadioButton实现分类筛选
- response,request理解
- 通过路径获取信息的几种方式
- MySQL主从复制与读写分离
- 解析xml格式的string内容并修改节点内容
- Unity3D占用内存太大的解决方法