BREW SDK 九大功能之网络服务

简介: 版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/6507730 BREW通过ISocket和INetMgr可以实现主要的网络功能。
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/6507730

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

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

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

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

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

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

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wireless_com/archive/2010/04/07/5456697.aspx

目录
相关文章
|
3天前
|
Kubernetes 应用服务中间件 Docker
Kubernetes学习-集群搭建篇(二) 部署Node服务,启动JNI网络插件
Kubernetes学习-集群搭建篇(二) 部署Node服务,启动JNI网络插件
|
3天前
|
运维 安全 网络安全
云端防御策略:融合云服务的网络安全新范式
【5月更文挑战第15天】 随着企业逐渐将关键业务迁移至云平台,云计算服务的安全性成为维护信息安全的前沿阵地。本文深入探讨了云服务模型中的网络安全挑战与对策,分析了在公有云、私有云和混合云环境下,如何通过创新的安全架构和技术手段强化数据保护和威胁防御。文章着重讨论了多租户环境中的数据隔离问题、云安全访问控制的最新进展以及针对云环境的安全运维管理实践。通过综合分析,提出了一个多层次、动态适应的安全框架,旨在为云服务用户提供一个更加安全、可靠的计算环境。
|
3天前
|
运维 监控 安全
网络管理(包括网络管理的功能,管理系统及相关协议:SNMP,CMIS/CMIP)
网络管理(包括网络管理的功能,管理系统及相关协议:SNMP,CMIS/CMIP)
14 1
|
3天前
|
安全
哪些因素影响网络交易商品(服务)的安全性?
【5月更文挑战第14天】哪些因素影响网络交易商品(服务)的安全性?
9 0
|
3天前
|
缓存 开发框架 安全
【Uniapp 专栏】详解 Uniapp 的网络请求功能特性
【5月更文挑战第13天】Uniapp是一款跨平台开发框架,提供便捷的网络请求功能,支持HTTP/HTTPS协议及GET/POST等多种请求方法。它允许设置请求参数、处理响应数据,并有超时时间、缓存策略及错误处理机制。还能与状态管理、页面交互结合,确保数据安全并进行性能优化。通过案例和比较,展现了Uniapp在网络请求上的优势,为开发高质量移动应用奠定基础。理解和掌握这些特性对于创建出色应用体验至关重要。
【Uniapp 专栏】详解 Uniapp 的网络请求功能特性
|
3天前
|
安全 算法 网络协议
LabVIEW网络服务安全2
LabVIEW网络服务安全2
10 3
|
3天前
|
安全 算法 API
LabVIEW网络服务安全
LabVIEW网络服务安全
11 3
|
3天前
|
安全 物联网 网络安全
云端之盾:融合云服务与网络安全的未来之路
【5月更文挑战第10天】 在数字化的浪潮中,云计算以其灵活性、可扩展性和成本效益成为企业转型的重要驱动力。然而,随着云服务的广泛采纳,网络安全和信息保护的挑战也随之增加。本文深入探讨了云计算环境中的安全威胁,分析了当前的安全措施,并提出了面向未来的综合安全策略。我们将重点讨论如何通过技术创新、政策制定和行业合作来强化云服务的安全性,确保信息资产的完整性、可用性和保密性得到全面保障。
|
3天前
|
数据安全/隐私保护 网络协议 网络安全
2024年广东省网络系统管理样题第4套服务部署部分
2024年广东省网络系统管理样题第4套服务部署部分
2024年广东省网络系统管理样题第4套服务部署部分
|
3天前
|
数据安全/隐私保护 网络安全 网络协议
2024年广东省网络系统管理样题第5套服务部署部分
2024年广东省网络系统管理样题第5套服务部署部分
2024年广东省网络系统管理样题第5套服务部署部分

热门文章

最新文章