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

简介: 版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/5456697

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 管理。

目录
相关文章
|
9月前
|
开发工具 Android开发
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
877 11
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
|
12月前
|
JSON 中间件 Go
Go 网络编程:HTTP服务与客户端开发
Go 语言的 `net/http` 包功能强大,可快速构建高并发 HTTP 服务。本文从创建简单 HTTP 服务入手,逐步讲解请求与响应对象、URL 参数处理、自定义路由、JSON 接口、静态文件服务、中间件编写及 HTTPS 配置等内容。通过示例代码展示如何使用 `http.HandleFunc`、`http.ServeMux`、`http.Client` 等工具实现常见功能,帮助开发者掌握构建高效 Web 应用的核心技能。
540 61
|
前端开发 安全 开发工具
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
1037 90
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
人工智能 自然语言处理 开发工具
HarmonyOS NEXT~鸿蒙开发能力:HarmonyOS SDK AI 全解析
本文深入解析HarmonyOS SDK中的AI功能集,涵盖分布式AI引擎、核心组件(NLP、计算机视觉等)及智能决策能力。通过代码示例与开发实践指南,帮助开发者掌握环境配置、性能调优及多场景应用(智能家居、移动办公等)。同时探讨性能优化策略与未来演进方向,助力构建高效分布式智能应用。
1300 9
|
Ubuntu 网络协议 Unix
02理解网络IO:实现服务与客户端通信
网络IO指客户端与服务端通过网络进行数据收发的过程,常见于微信、QQ等应用。本文详解如何用C语言实现一个支持多客户端连接的TCP服务端,涉及socket编程、线程处理及通信流程,并分析“一消息一线程”模式的优缺点。
573 0
|
网络协议 安全 Devops
Infoblox DDI (NIOS) 9.0 - DNS、DHCP 和 IPAM (DDI) 核心网络服务管理
Infoblox DDI (NIOS) 9.0 - DNS、DHCP 和 IPAM (DDI) 核心网络服务管理
560 4
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
982 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
API 开发工具 Android开发
【01】完整开发即构美颜sdk的uni官方uts插件—让所有开发者可以直接使用即构美颜sdk的能力-优雅草卓伊凡
【01】完整开发即构美颜sdk的uni官方uts插件—让所有开发者可以直接使用即构美颜sdk的能力-优雅草卓伊凡
746 23
【01】完整开发即构美颜sdk的uni官方uts插件—让所有开发者可以直接使用即构美颜sdk的能力-优雅草卓伊凡
|
前端开发 JavaScript 开发工具
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
1030 5
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
机器学习/深度学习 人工智能 安全
从攻防演练到AI防护:网络安全服务厂商F5的全方位安全策略
从攻防演练到AI防护:网络安全服务厂商F5的全方位安全策略
354 8

热门文章

最新文章