您的位置:首页 > 其它

MTK Socket学习

2011-12-29 09:41 190 查看
  先来简单的介绍一下socket,socket 编程是介于 传输层 和 应用层之间,可以简单的理解为socket 就是封装了传输层的TCP 和 UDP 协议,使用户不用去封装一个 TCP 或者 UDP 包,开发使用网络通讯就更加简单了。如果拿一个寄信的过程来比喻一个网络通信过程。socket 就像给你准备好了信纸和信封,只要把你想写的内容写到信纸上,然后信封上写上地址,就可以邮寄了。信封里的内容就像 应用层协议,具体怎么写由应用之间来确定,比如说,用英文写(http 协议),懂英文的能看懂(http 服务器或者客户端能识别)。

有时候老有人问,用MTK 怎么去请求一个网页,MTK已经准备好了socket(信纸),就看要写什么样的语言能让收信方看懂。请求网页就是一个http 请求,也就是(socket)信纸上写上http请求,服务器就能返回相应答复。具体说http 请求怎么写,那就要去研究http 协议,就像要想和美国人通信,要学习英文一样 View Code //域名解析函数
// 通过域名获得ip地址
// is_blocking,是否阻塞,现在只支持none block,也最好用none block
// mod_id 如果没有立即获得,那么当查询成完毕,将向该mod 发送消息
// request_id 区分不同的DNS 查询结果。比如在同时查询两个以上,在返回的消息中,就可以通过id来进行区分,这个结果是哪一个查询结果
// addr 如果直接查询到结果,比如命中cache,那么ip地址直接返回
// len 返回的ip地址长度 // access_id 也存放在查询返回消息里面,但不知具体什么用nwk_account_id 接入点
kal_int8 soc_gethostbyname(kal_bool is_blocking, module_type mod_id, kal_int32 request_id,
  const kal_char *domain_name, kal_uint8 *addr, kal_uint8 *addr_len, kal_uint8 access_id,
  kal_uint32 nwk_account_id);[/code]

来源:http://blog.csdn.net/yanwuxufeng/article/details/5854562
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: