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

目录
相关文章
|
26天前
|
机器学习/深度学习 运维 安全
图神经网络在欺诈检测与蛋白质功能预测中的应用概述
金融交易网络与蛋白质结构的共同特点是它们无法通过简单的欧几里得空间模型来准确描述,而是需要复杂的图结构来捕捉实体间的交互模式。传统深度学习方法在处理这类数据时效果不佳,图神经网络(GNNs)因此成为解决此类问题的关键技术。GNNs通过消息传递机制,能有效提取图结构中的深层特征,适用于欺诈检测和蛋白质功能预测等复杂网络建模任务。
52 2
图神经网络在欺诈检测与蛋白质功能预测中的应用概述
|
16天前
|
算法 安全 网络安全
网络安全服务
机密主要利用密码学技术加密文件实现,完整主要利用验证码/Hash技术,可用**主要灾备来保障。 网络环境下的身份鉴别,当然还是依托于密码学,一种可以使用口令技术,另一种则是依托物理形式的鉴别,如身份卡等。其实更为安全的是实施多因子的身份认证,不只使用一种方式。数字签名可以用来保证信息的完整性,比如RSA就可以用于数字签名: 若A向B发送信息m则先用自己的保密密钥(私钥)对m加密,然后用B的公钥第二次加密,发送个B后,B先用自己的私钥解密一次,再用A的公钥解密即可。 Kerberos使用对称密码算法来实现通过可信第三方密钥分发中心的认证服务,已经成为工业界的事实标准。
24 3
|
24天前
|
安全 网络安全 数据安全/隐私保护
利用Docker的网络安全功能来保护容器化应用
通过综合运用这些 Docker 网络安全功能和策略,可以有效地保护容器化应用,降低安全风险,确保应用在安全的环境中运行。同时,随着安全威胁的不断变化,还需要持续关注和研究新的网络安全技术和方法,不断完善和强化网络安全保护措施,以适应日益复杂的安全挑战。
42 5
|
22天前
|
存储 监控 数据挖掘
计算机网络的功能
计算机网络支持信息交换、资源共享、分布式处理、可靠性增强及集中管理。信息交换涵盖多种媒体形式,促进远程协作;资源共享降低用户成本,提高效率;分布式处理提升计算能力;冗余机制保障系统稳定;集中管理简化网络维护,确保安全运行。
30 2
|
1月前
|
安全 Linux 网络安全
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息。本文分三部分介绍 nmap:基本原理、使用方法及技巧、实际应用及案例分析。通过学习 nmap,您可以更好地了解网络拓扑和安全状况,提升网络安全管理和渗透测试能力。
116 5
|
1月前
|
云安全 人工智能 安全
阿里云稳居公共云网络安全即服务市占率第一
日前,全球领先的IT市场研究和咨询公司IDC发布了《中国公有云网络安全即服务市场份额,2023:规模稳步增长,技术创新引领市场格局》报告。报告显示,阿里云以27.0%的市场份额蝉联榜首。
|
1月前
|
运维 物联网 网络虚拟化
网络功能虚拟化(NFV):定义、原理及应用前景
网络功能虚拟化(NFV):定义、原理及应用前景
61 3