`
mmdev
  • 浏览: 12914965 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之50---BREW SDK 九大功能之网络服务

阅读更多

BREW通过ISocketINetMgr可以实现主要的网络功能。从网络整体来看,Socket是不同主机上应用程序之间的一个虚拟的接口,具有跨平台特性。从程序员角度来看,Socket是应用程序和网络设备的一个接口,特殊的I/Osocket3种类型:面向连接的字节流套接口(Stream Sockets),无连接的数据报套接口(Datagram Sockets)和只对Internet协议有效,用于直接访问IP协议原始套接口(Raw Sockets)socket接口并不仅限于TCP/IP,但由于TCP/IP的广泛使用,它们几乎被等同起来了。

网络服务中的一个重要概念是IP地址/域名,BREW可用gethostbyaddrgetaddrbyhost函数相互转换。另一个重要概念是端口号,TCPUDP采用16bit的端口号来识别应用程序。服务器一般都是通过周知端口号来识别的,如FTP服务器的TCP端口号是21TFTP (简单文件传送协议)服务器的UDP端口号是69,等等。端口号用以区别不同的应用,RFC1700规定了由IANA(因特网已分配数值权威机构)定义的端口列表,端口号分三段:周知端口:01023,由IANA分配和控制,对普通用户不可用;经注册的端口:102449151,不受IANA控制,但由IANA登记并提供它们的使用情况清单;动态或私用端口:4915265535IANA不管的端口,也称临时端口。理论上来说,编程能使用的端口值为102465535,通用端口的使用需要超级用户(root)权限。

BREWISocket派生于标准BSD socket,采用非阻塞异步通信模式,基于回调函数的通知方式,支持TCPUDPBREW2.X手机至少同时支持3TCP4UDP)。INetMgr 支持IPV4PPP的网络属性,管理网络行为,是所有ISocket的始作俑者,在所有操作完成以后释放。BREW 3.X及以上版本中的ISocketPortINetwork支持了多种移动通信网络和IPV6的功能。

ISocket接口负责具体的网络连接,每个连接需要一个ISocket接口。ISocket接口不能直接创建,而应该通过INETMGR_Opensocket来创建,因此没有INetMg实例,ISocket是不能工作的。INetMgr_opensocket用于打开TCPUDP套接字。如果成功,该函数返回指向isocket接口实例的指针。可使用该指针调用ISOCKETConnect,以指定要连接套接字的目标IP 地址和端口号。首个套接字连接到设备上后,BREW AEE将构建网络子系统。该子系统的组件包括:CDMA物理层,CDMA设备的无线链路协议(RLP)和点到点协议(PPP) 连接。连接到设备上的所有套接字将共享这些连接。通过调用ISOCKETRelease可关闭套接字。当关闭了设备上连接的最后一个套接字时,BREW AEE将在指定的延迟时间后终止网络子系统的连接。

BREW中非阻塞网络通信的好处是避免了任何用户线程上的长时间运行而导致不能及时响应系统事件,而同时会带来一点处理上的麻烦,即客户端程序可能不能在网络UDP数据包到达的第一时间就将数据从指定的端口取走,从而会造成相同端口上没有及时读取的数据包会被后续到来的数据包覆盖的问题,在设计应用的时候要给予注意。在TCP/IP协议中使用最大报文段长度(MSSMaximum Segment Size)来表示TCP传往另一端的最大块数据长度。因而了解无线网络上的MSS值对网络应用的开发很有意义,尤其是流媒体服务。将每一帧的大小设置为TCP允许的MSS,可以保证网络的利用率,减少TCP头部的开销。

针对应用广泛的互联网服务,BREW提供了IWeb等一系列接口是开发者方便使用互联网,同时提供了WEB 代理功能。BREW WEB 代理规范易于使用,是一组固定的以 null 结尾的字符串,类似于常见的 URL 语法。BREWWEB代理规范可以为一个处理指定多个代理规范,并按 IWEBOPTS_GetOpt() 顺序检验。 它们具有一套简单但有效的语法,可用于指定代理 URL 的包含和排除。BREW WEB 代理规范无需复制,并可将其当作 WebOpts 管理。

分享到:
评论

相关推荐

    深入brew开发 brew进阶资料

    深入brew开发,很好的参考进阶资料。对于学习C语言也很有一定的帮助。

    Brew SDK & Tools -- 2

    Brew 3.1.5全套开发库安装文件,包括Brew SDK 3.1.5、SDK Tools、Tool Suite、Brew Addins

    Brew SDK全套TOOL

    Brew SDK Tools--->BREW SDK、BREW SDK Tools、BREW Add-ins、BREW Tools Suite 共3部分 Brew_SDK_Tools.part1.rar Brew_SDK_Tools.part2.rar Brew_SDK_Tools.part3.rar

    brew开发超级全的资料、文档

    目录:(BREW 初级开发者 教程):第1章 BREW技术特点与发展趋势第2章 BREW SDK简介 第3章 BREW开发基础第4章 BREW手机简介 第5章 ISHELL第6章 IDISPLAY使用简介 第7章 ISTATIC第8章 IMENUCTL 第9章 IImage第10章 ...

    深入brew开发 brew及buiw进阶手册

    此书简洁而深入的介绍了brew的基本原理,非常适合已经入门但是还未从整体上掌握的brew开发者。

    brew开发者进阶教程

    联通博路编写的开发者进阶教程,pdf版本,转载。 共18部分: 第一部分目录如下: Brew概述 Brew技术演进 Brew3.1.5 sp01 Brew 4.0简介 Brew Mobile Platform简介 Brew 技术优势 Brew与其他技术的对比 以后各部分为...

    Brew绿色安装3.01(BrewSDK)

    Brew绿色安装3.01(BrewSDK)不是直接安装版本,需要环境配置,不懂得想用就到高通网站下载直接按转的版本

    中国电信全网增值业务合作管理办法-BREW业务分册.pdf

    为了优化全网增值业务合作管理,促进业务健康发展,在《中国电信移动增值业务合作管理 ... 现发布《中国电信全网增值业务合作管理办法(V2.0版)》,包括总册、短信业务分册、彩信业务分册、WAP业务分册、BREW业务...

    mac0S_brew慢的问题.zip brew使用国内镜像解决下载慢的问题

    ———————————————————————————————————————————— 替换bottles 镜像源(可选) 该镜像是 Homebrew 二进制预编译包的镜像。 临时替换 export HOMEBREW_BOTTLE_DOMAIN=...

    sdk.rar_SDK_brew_brew sdk_brew S_brew sdk

    BREW开发的SDK2.0

    BREW 语音呼叫业务.pdf

    BREW开发培训系列——高级——BREW 语音呼叫业务

    Brew SDK 3.1.5

    Brew SDK 3.1.5 配置环境变量即可

    BREW 开发者 进阶教程(共18章)

    BREW 开发者 进阶教程(共18章)BREW 开发者 进阶教程(共18章)BREW 开发者 进阶教程(共18章)BREW 开发者 进阶教程(共18章)

    homebrew-dotnet-sdk-versions:dotnet-sdk版本HomeBrew Tap

    dotnet-sdk版本水龙头 此水龙头包含不同的版本,可以将其与提供的最新版本并行安装。 通过点击此存储库并运行install命令来安装以前的版本之一。在此处安装其中一个版本brew tap isen-ng/dotnet-sdk-versionsbrew ...

    brew SDK介绍

    关于brew SDK的介绍,相信大家对sdk很敏感,不妨下一个试试。

    brew sdk 3.0.1.12.rar

    brew sdk 3.0.1.12.rar

    深入BREW开发-中文版

    BREW SDK介绍 BREW 的事件驱动机制 BREW 模块概念

    BREW SDK 2.0中文版

    Brew SDK本地下载,大家不必到高通的网站忍受蜗牛般的下载速度了。这个是要集成到Visual C++里面使用的,准备只学习J2ME的朋友们就不必下载了。

    Brew SDK & Tools -- 1

    Brew 3.1.5全套开发库安装文件,包括Brew SDK 3.1.5、SDK Tools、Tool Suite、Brew Addins

    BREW平台与演进.pdf

    BREW开发培训系列——BREW平台与演进——BREW概述、发展现状及趋势

Global site tag (gtag.js) - Google Analytics