基于短信网关WAP推送的实现-Java基础-Java-编程开发

第 36 章:电话与 RIL 无线接口层是 Java 电话框架和厂商调制解调器固件之间的桥梁。早期 RIL 是 C 语言守护进程 rild,通过 Unix 套接字、自定义二进制协议与框架通信。Android12 及以后迁移到稳定 AIDL HAL,把旧的单体 IRadio HIDL 接口拆分为多个按业务域划分的 AIDL 接口。# 列出全部radio‑hal aidl文件# 统计IRadioVoice接口方法数量# 统计IRadioData接口方法数量# 查看语音通话数据结构体Call.aidl。 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

摘要 WAP PUSH既有信息发送主动、及时的特点,又有可随时随地接收信息的优势,因而具有良好的应用前景。该文简单介绍了WAP PUSH系统框架、推送协议和推送方式,重点介绍了通过短信网关实现WAP推送的实现方法。

关键词 无线应用协议,WAP推送,短信网关,PDU 模式

1 WAP推送技术简介

1.1 什么是WAP推送

WAP推送(PUSH)技术是一种建立在客户服务器上的机制,就是由服务器主动将信息发往客户端的技术。同传统的拉(PULL)技术相比,最主要的区别在于推送(PUSH)技术是由服务器主动向客户机发送信息,而拉(PULL)技术则是由客户机主动请求信息。PUSH技术的优势在于信息的主动性和及时性。

PUSH技术在Internet中没能取得大的成功,原因是多方面的。主要原因在于固定网中计算机等固定设备为用户提供了足够的资源和能力去查找信息所以用户通常将它作为一个浏览信息的窗口,而不是被动的信息接收者。同时固定网用户对于信息准确性的要求远甚于对其及时性的要求,因此PUSH技术未能得到广泛的应用。

而在移动网中,由于存在着网络带宽、移动终端能力以及自费标准高昂等诸多限制,使得用户查找信息受到了一定的限制,如果将重要的信息主动及时地推送到用户的移动设备上无疑会大大方便用户。移动通信的优点是移动设备能够随时随地接收信息因此PUSH技术在移动网中可以大展拳脚,WAP PUSH正是PUSH技术和移动通信两者扬长避短相结合的产物。WAP PUSH是在移动网络中应用的PUSH技术,它结合了一般PUSH技术和移动网络的特点。它的系统框架、使用协议和服务方式与固定网上的PUSH技术有很大不同。

1.2 WAP PUSH系统框架

WAP PUSH框架主要包括推送发起者(PI:PUSH Initiator)、推送代理网关(PPG:PUSH ProxyGateway)和推送客户(PC:PUSH Client)三个功能部分。PI位于Internet中,而PC在WAP领域,PI和WAP客户端所使用的协议是不同的,需要在中间建立一个协议转换网关即PPG。PPG通过推送访问协议(PAP:PUSH AccessProtocol)与PI通信,通过推送空间传输协议(PUSH OTA:PUSH over-the-Air)完成向客户推送信息的数据传输任务。

PPG完成推送体系结构中的大部分工作,包括从Internet到移动网的访问接入,以及与其有关的认证、安全、客户端控制等所有工作。PPG所提供的主要服务包括:1)PI的标识、鉴权和访问控制;2)对推送内容进行语法分析,并依据数据类型定义(DTD)检错纠错;3)客户寻址与信息传输;4)PAP与PUSH OTA间的协议转换;5)为提高无线信道中的传输效率,对信息进行压缩、编译等处理。

另外,PPG还可以通过别名机制实现组播和广播,即将某些特定的地址别名映射到组播或广播的操作中,具体方案可以由系统实现者决定。不同的客户端,其能力是不同的,PPG还要负责响应PI的客户能力查询请求,以便于PI针对不同的客户端构造合适的内容格式。

1.3 推送协议

PAP是PI与PPG间的通信协议,它使用可扩展标记语言(XML)作为消息的描述语言,通过简单的请求响应机制完成数据的传输。PAP可以在多种通信协议(包括超文本传输协议(HTTP)、简单邮件传输协议(SMTP)等)之上实现。

而PUSH OTA是运行于无线会话协议(WSP)之上的一个较为简单的协议层,负责从PPG到客户代理的数据传输。PUSH OTA可使用面向连接的会话和无连接会话两种WSP层服务,对于使用连接会话的推送,需要在PPG和客户端间预先有一个激活的会话上下文;对于无连接的推送,则通过预留的端口来完成通信。

1.4 推送服务方式

WAP的推送协议中定义了服务指示(SI:Service Indication)和服务加载(SL:Service Load)两项服务,以给用户和网络运营者更多的选择。服务指示是将新信息的指示和相关的通用资源标识符(URI)推送给用户,由用户选择是立即处理信息还是以后处理。服务加载是将一项服务的URI推送给用户,然后客户端自动地使用PULL技术根据该URI启动服务。两种服务的区别在于用户是否介入推送信息的处理过程。SL对推送信息的处理对用户来说是透明的,而SI则在指示用户的同时,请用户对随后的处理做出选择。

PUSH可以将某一站点或某一业务的链接通过短信发送到支持WAP PUSH功能的手机上,这样用户只需要阅读这条短信,打开短信中的链接,就可以直接访问业务了。因此,WAP PUSH实现了短信和WAP业务的结合,节省了用户寻找业务的时间,方便用户直接找到并使用自己喜欢的业务。

2 短消息网关简介

短消息网关(ISMG)是处于短消息中心(SMSC)和业务提供商(SP)之间的设备,它为这两个实体的数据交换提供安全、快捷的通道。网关与短消息中心之间使用SMPP协议(Short Message Peer to Peer,短消息点对点协议), 与SP之间使用CMPP协议(China Mobile Peer to Peer,中国移动点对点协议),因此短消息网关需要完成协议的转换、计费、路由、安全和网络管理等功能。具体说来, SMPP通信代理系统主要实现网关和GSM网中短消息中心(SMSC)的连接,确保准确接收和发送数据,实现高效、可靠的数据传输。为了达到规范要求的不超过0.001%的数据丢包率,SMPP通信代理需要支持流量控制。CMPP通信代理系统主要是实现和SP服务提供商的连接,与SMPP通信代理系统不同的是,由于协议的影响,CMPP通信代理是服务器端,需等待SP的连接,而SMPP通信代理是客户端,需要主动连接SMSC。短消息网关处理系统是网关中最复杂的处理进程,它完成的任务包括:向GNS(汇接网关) 查询路由,维护路由表,进行协议转换和数据分发。防火墙系统主要为网关系统提供安全保障,它包括IP包过滤和身份验证。短信网关计费系统主要形成各种计费话单,为计费提供依据。业务管理系统主要完成对业务进行统计报告,生成报表,为运营者对用户数据的添加、修改、删除以及对网关系统的监控、查询、操作和维护提供接口和界面。

3 基于短信网关发送WAP PUSH

WAP PUSH的发送有两种途径,一个是通过PPG网关,另外一个是通过SMPP协议。其中SMPP是一个基本协议,在中国主要有三个由其派生的协议:中国移动的CMPP协议,中国联通的SGIP(在CDMA上是ETIP),以及小灵通的SMGP。通过中国移动的PPG网关发送WAP PUSH有着开发周期长,调测流程较复杂等不足,而使用CMPP协议即基于短信网关来进行WAP PUSH发送灵活性比较高,相对比较简单。

3.1 WAP PUSH发送的实现模式

可通过计算机串口上连接GSM MODEM,用它向手机发送WAP PUSH。这种方法发WAP PUSH又分三种模式:BLOCK 模式、TEXT 模式和PDU 模式。BLOCK 模式现在用的很少了, TEXT 模式则只能发送ASCII 码,它不能发送中文的UNICODE码,而PDU 模式开发起来则较为复杂,它需要编写专门的函数来将文本转换为PDU 格式,但PDU 模式被所有手机支持,可以使用任何字符集,它也是手机默认的编码方式,所以选用PDU模式发送WAP PUSH.

3.2 PDU 模式

用PDU 模式发送 WAP PUSH可以使用三种编码: 7-bit 编码、8-bit 编码和UCS2 编码。7-bit 编码用于发送普通的ASCII 字符,8-bit 编码通常用于发送数据消息,UCS2 编码用于发送Unicode 字符。由于要实现中文WAP PUSH的发送,所以选择用UCS2 编码,即中文Unicode 码。

⑴ UCS2 编码原理 所谓UCS2 编码,是将单个的字符(1-2 个字节)按ISO/IEC10646 的规定,转变为16 位 的Unicode 宽字符。即将单个的字符转换为由四位的‘0’-‘9’、‘A’-‘F’的数字和字 母组成的字符串。待发送的消息以UCS2 码的形式进行发送。

⑵ 通过UCS2 编码我们得到中文Unicode 码,接着就可以进行发送PDU 串的编制了。从表面上看,PDU 串是ASCII 码串,同样由‘0’-‘9’、‘A’-‘F’这些数字和字母组成。它们是8 位字节的十六进制数,或者BCD 码十进制数。PDU 串除了包含所发送的消息本身外,还包含很多其它参数信息,如服务中心号码、目标号码和编码方式等

例如

0051000BA13108086406F600F5A7850B05040B8423F_

0000303010129060603AE81EA8DCA02056A0045C6080C033231312e_

3133362e3135332e33302f776170707573682f70757368496e6465782e_

6a73703f7075736849643d3035303531313134313630353231000103E8A_

FB7E782B9E587BBE4BBA5E4B88BE993BEE68EA5E88EB7E58F96E5BDA9E4BFA1E58685E5AEB9000101_

为一串可以成功发送的WAP PUSH,其中包括了汉字描述和WAP页面地址。具体分析如下

00 SMSC 地址信息的长度 00表示用手机上设置短信中心号码,PDU 串的“SMSC 址格式”段和“SMSC 地址”段将省去

51 基本参数(TP-MTI/VFP) 不要求发送回复

00 消息基准值(TP-MR)

0B 对方电话的长度

A1 目标地址格式 A1表示为国内格式

3108086406F6 目标地址,补‘F’凑成偶数位后奇偶位互换

00 协议标识(TP-PID) 是普通GSM 类型,点到点方式

F5 用户信息编码方式 (TP-DCS)

A7 有效期(TP-VP)

85 用户信息长度(TP-UDL)

0B WAP PUSH头部的总长度

05040B8423F0表示接下来是一个WAP PUSH

00 表示是Concatenated Short Messages

03 长度

03 reference number

01 表示分成1个短信发送

01 当前包的序号

29060603AE81EA8DCA WSP

02 标记位

05 -//WAPFORUM//DTD SI 1.0//EN

6A UTF-8

00 标记开始

45

C6 < P>

08

0C href="http://

03 字符串开始

3231312e3133362e3135332e33302f776170707573682f

70757368496e6465782e6a73703f7075736849643d3035303531313134313630353231 URL

00 URL 字符串结束

01 >

03 内容描述字符串开始

E8AFB7E782B9E587BBE4BBA5E4B88BE993BEE68EA_

5E88EB7E58F96E5BDA9E4BFA1E58685E5AEB9 内容描述字符串

00 内容描述字符串结束

01

01

由以上分析可以看出,WAP PUSH可以被当作一种特殊的短信来发送,WAP PUSH包发送的内容实际上跟通过PPG网关发送的XML原理相同,但是经过了压缩。压缩之后的格式称为WBXML,这种格式将一些标记用代码来表示。然而WBXML的缩略标记分为两部分,一部分是所有类型的XML都通用的,另一部分是不同类型的XML有着不同的解释。

用户接收到此类信息时,在客户端手机支持WAP的情况下,可以直接访问到信息中加载的WAP网站地址,这样服务器也达到了推广业务方便用户使用的目的。由于在UCS2 编码方式下,可发送短消息的最大字符数是140字节,即WAP PUSH中的推送URL与描述文字的总字符数为140,因此描述文字的字数限制与推送的URL长度有关。

4 结束语

WAP PUSH技术结合了PUSH技术的优势和移动通信服务的特性,具有良好的应用前景。但是WAP PUSH技术仍然存在着一些亟待解决的问题,如信息的鉴权与认证、信息的准确性、如何避免垃圾信息等。如何解决好这些问题将是WAP PUSH技术成功的关键。另外,随着GPRS技术和3G无线通信技术的发展,无线信道的带宽将逐步增大,WAP PUSH也将能进一步推送多媒体信息,有着更宽广的应用前景。

WAP短信:融合传统短信和互联网的新型通信方式 本文介绍了WAP短信及消息体解析 阅读详情

相关推荐

Java SMS短信服务平台:打造多类型短信服务与WAP Push推送

随着移动设备的普及和技术的发展,用户习惯于通过短信接收各类通知和服务信息。然而,由于短信服务的限制,单条短信内容不能超过一定字符数(例如,中国大陆规定单条短信最多支持70个汉字或者160个英文字符)。当需要发送的信息超过这个长度时,就需要将信息分割成多条短信来发送。长短信技术的引入,使得用户能够收到一条完整的信息,而不用手动将多条短信进行拼接。长短信技术不仅提高了用户体验,还为商业和公共服务领域的短信应用提供了便利。

weixin_35794316的博客 1141

java实现web实时消息推送的七种方案--个人学习记录

java实现web实时消息推送的七种方案

weixin_44705301的博客 5631

java 实现的短信网关源码smsbeans0.9

java 实现的短信网关源码 CMPP3 └─smsbeans │ ConnectionAdapter.java │ ConnectionBean.java │ ConnectionBean.jbx │ ConnectionEvent.java │ ConnectionListener.java │ DeliverBean.java │ IdBuilder.java │ InputStreamHandler.java │ MD5.java │ MessageBean.java │ OutputStreamHandler.java │ Packet.java │ PacketBuilder.java │ PacketEvent.java │ PacketListener.java │ PacketListenerRegistrar.java │ PacketRebroadcaster.java │ SendPacketState.java │ SendPackStateList.java │ SyncMessageBean.java │ ├─cmpp3 │ CmppActiveTest.java │ CmppActiveTestBuilder.java │ CmppActiveTestHander.java │ CmppActiveTestResp.java │ CmppActiveTestRespBuilder.java │ CmppActiveTestRespHander.java │ CmppCancel.java │ CmppCancelBuilder.java │ CmppCancelHander.java (java implementation of the SMS gateway the source CMPP3 )

基于短信网关wap推送的实现

1 WAP推送技术简介   1.1 什么是WAP推送   WAP推送(PUSH)技术是一种建立在客户服务器上的机制,就是由服务器主动将信息发往客户端的技术。同传统的拉(PULL)技术相比,最主要的区 别在于推送(PUSH)技术是由服务器主动向客户机发送信息,而拉(PULL)技术则是由客户机主动请求信息。PUSH技术的优势在于信息的主动性和及时 性。   PUSH技术在Internet中没能取

lei001的专栏 1679

Go-HiMagpie网关负责TCP长连接建立心跳消费消息队列并推送等

HiMagpie 网关,负责 TCP 长连接建立、心跳、消费消息队列并推送等

简易短信网关示例 含代码

简易短信网关示例 含代码 简易短信网关示例 简易短信网关示例 简易短信网关示例

基于短信网关WAP推送的实现

WAP PUSH既有信息发送主动、及时的特点,又有可随时随地接收信息的优势,因而具有良好的应用前景。该文简单介绍了WAP PUSH系统框架、推送协议和推送方式,重点介绍了通过短信网关实现WAP推送的实现方法。    1 WAP推送技术简介    1.1 什么是WAP推送    WAP推送(PUSH)技术是一种建立在客户服务器上的机制,就是由服务器主动将信息发往客户端的技术

xjbclz的专栏 3360

Java发起SMS(短信推送)的SDK

这个是一个封装得比较好的SDK,里面有代码和详细的注释。 短信服务是一种存储和转发服务。也就是说,短消息并不是直接从发送人发送到接收人,而始终通过短信服务中心进行转发。如果接收人处于未连接状态(可能电话已关闭),则消息将在接收人再次连接时发送。

短信开发

 原文:http://www.blogjava.net/flyffa/archive/2006/05/15/46180.html 1.1. 基本知识 短信开发指通过串口 at 命令驱动短信猫进行短信发送和接收操作。 在 java 中 主要使用 javax.comm 包进行开发, sun 公司网上地址 : http://java.sun.com/products/javaco

小生物语 2485

Calibre电子书阅读器个性化样式定制指南

本文详细介绍了如何通过Calibre电子书阅读器的用户样式表功能进行深度个性化样式定制。从修改全局字体、行距、背景配色(包括深色/浅色模式)到美化代码块、引用等特殊元素,本指南提供了完整的CSS代码示例与实战技巧,帮助用户打造专属的舒适阅读环境,显著提升电子书阅读体验。

vv45678的博客 920

TAS5805MPWPR实战:数字音频功放从选型到量产全流程指南

数字音频功放将I2S数字信号直接转为PWM驱动扬声器,省去传统DAC与模拟运放链路,在高保真、低BOM与紧凑PCB之间找到平衡。其核心在于内置可编程DSP,支持多段PEQ、DRC等数字处理,通过I2C配置即可完成调音,而不占用主控算力。这类方案广泛应用于蓝牙音箱、Soundbar、智能音频模组等产品,但实际落地时常遇到I2C通信不稳定、EQ未生效、底噪超标、DC检测误触发等工程问题。从电源布局、LC滤波参数到PurePath Console工具链的使用,再到量产固件加载与故障排查,都需要系统化方法论支撑。本

weixin_29164843的博客 220

发送短信(转贴)

1.1. 基本知识 短信开发指通过串口 at 命令驱动短信猫进行短信发送和接收操作。 在 java 中 主要使用 javax.comm 包进行开发, sun 公司网上地址 : http://java.sun.com/products/javacomm/ 使用工具 : windows 自带超级终端   短信猫操作分为三种模式: block,pdu 和 Text 短信传送有

smallwolves 1701

基于三轴加速度计的塑料水管泄漏振动检测技术全解析

在流体力学与结构动力学领域,管道振动分析是评估系统健康状态的关键技术。其基本原理在于,当管道内流体状态发生异常(如泄漏)时,会引发管壁产生特定的机械振动信号。这项技术的核心价值在于实现了对管道系统的非侵入式、在线监测,能够提前预警潜在故障,避免资源浪费与次生灾害。在智慧城市与智能水务等应用场景中,它对于保障供水管网安全、提升运维效率具有重要意义。本文聚焦于如何利用高精度的三轴加速度计,精准捕捉塑料水管因泄漏产生的微弱振动,并通过信号处理与机器学习算法,构建一套从数据采集到泄漏识别与定位的完整工程解决方案。

weixin_32239523的博客 407

服务端到手机端的推送方式

1.无连接的方式 前提条件服务端知道客户端的IP地址,并且客户端IP地址发生变更需要通知服务端。在类似有wap网关的环境下是没法使用这种方式的,因为服务端知道的永远都是wap网关的地址。 2.面向连接的推送 基于tcp/ip的连接需要由客户端发起,因为服务端不知道客户端的地址。缺点是浪费电池,需要心跳保持长连接。 3.通过类似短信网关偷偷发短信给客户端,客户端通过第三方软件偷偷收到短信并且处理...

@用小弟弟思考的程序员 366

基于NXP i.MX RT1180的无传感器FOC电机驱动实战指南

磁场定向控制(FOC)是一种先进的电机控制技术,它通过精密的数学变换,将三相交流电机的控制解耦为独立的转矩和磁场分量,从而实现高效、平稳、低噪音的驱动。其核心原理在于利用Park/Clark变换,在旋转坐标系下对电流进行线性控制。这项技术的价值在于显著提升了永磁同步电机(PMSM)的效率与动态性能,广泛应用于机器人、无人机和工业自动化等高精度场景。本文聚焦于利用NXP i.MX RT1180跨界处理器及其MCUXpresso SDK,快速实现一套完整的无传感器FOC解决方案。通过解析硬件平台选型、软件架构,

weixin_33925615的博客 308

深度学习(Deep Learning, DL)简介

深度学习(Deep Learning, DL)是机器学习的一个子领域,主要使用多层神经网络来处理复杂的数据和任务。深度学习通过模拟人脑的神经网络结构,能够自动提取特征并进行高效的模式识别和预测。

qq_28791753的博客 1万+

安卓架构及开发技术

一、培训对象 有一定JAVA开发基础的人员。 二、课程设计思路    Android是谷歌宣布的基于Linux平台的手机操作系统,通过开发改良逐渐扩展到平板电脑及其他领域上。Android使用Java作为编程语言来开发应用程序,而Android的Java开发方面从接口到功能,都有层出不穷的变化。目前很多企业的发展战略都从普通桌面电脑转向便携设备,如何使具有Java开发经验的程序人员迅速转型到

中科院计算所培训中心 686

【读代码】从claude skills到superpowers项目

最近claude skills成了大热门,今天一起看下GitHub 上的开源技能框架,他将“工作流”封装为“技能” (Skills)。本文尝试剖析该项目的技能粒度定义、多技能关联架构、应用逻辑等。与传统的 Function Calling 不同,Superpowers 中的 Skill 定义粒度并非“原子操作”,而是**“认知模式” (Cognitive Mode) 或“工作阶段”**。

kakaZhui的博客 1922

Android架构及开发技术

一、培训对象 有一定JAVA开发基础的人员。 二、课程设计思路    Android是谷歌宣布的基于Linux平台的手机操作系统,通过开发改良逐渐扩展到平板电脑及其他领域上。Android使用Java作为编程语言来开发应用程序,而Android的Java开发方面从接口到功能,都有层出不穷的变化。目前很多企业的发展战略都从普通桌面电脑转向便携设备,如何使具有Java开发经验的程序人员迅速转型到

中科院计算所培训中心 927

05GATK流程和找变异

05GATK流程和找变异 GATK 集合了一套功能全面的高通量测序数据基因组分析工具包,算是业界的权威,更新的速度非常快。需要注意的是,不同版本的 GATK 在工具应用上会有些许不同。这里我们使用是最新版本 GATK 4.1.4.1(截止2019年12月31日)。 数据准备 前面我们提到了,走GATK流程需要到官网下载很多数据库文件,比如下面这些: dbsnp_146.hg38.vcf.gz dbsnp_146.hg38.vcf.gz.tbi Mills_and_1000G_gold_standard.

qq_23435961的博客 1661

【红外技术】DDE算法:HE在红外图像可视化上的应用(附源码)

并且数据一般是以 8 的整数倍的位宽在电子系统中应用,因此大多数的显示器的显示位宽为 8bit,共 256 个灰阶。为了使红外图像可视化,因此需要一种“数据压缩”技术,还需要既可能的不丢失原始图像信息。HE后的图像直方图分布比较均匀离散,图像对比度好。但是HE算法只是适用某些图像,它是将灰度集中区域进行拉伸得到,也会放大该集中区域的噪声,它是一种“不公平”的映射。以下是红外细节增强算法的演示,很明显右边的图像,展现了更多的图像细节,对于小目标的观测非常友好。文章已于2019-12-02修改。

sunwindl91181的博客 911

微服务简介及特性介绍

微服务特性 一、微服务简介-构建单体应用 互联网技术发展迅速的今天,微服务倍受关注:文章、博客、社交媒体讨论和会议演讲都在谈论。与此同时,也有持怀疑态度的软件社区人员认为微服务没什么新鲜可言。反对者声称它的思想只是面向服务架构的重塑。然而,无论是炒作还是怀疑,不可否认,微服务架构模式具有非常明显的优势 —- 特别是在实施敏捷开发和复杂的企业应用迭代开发方面。 从本篇文章开始,我们来开学了解学习微服务的相关知识。 1.1、单体应用 我们先不问微服务是什么?微服务该如何实现?让我们从我们原本最熟悉的创建一个应用

js010111的博客 1393

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Android Cupcake Mms彩信应用总结

from: http://blog.youkuaiyun.com/yinlijun2004/article/details/6409427 看代码的时候最好结合一些WAP协议来看,比如WAP-206-MMSCTR-20020115-a,WAP-209-MMSEncapsulation-20020105-a,另外还可以看一下SMIL手册及其 MMS 应用指南(Series 60 Develop

380

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

上一篇: Java手机软件图形界面API之慨述-Java基础-Java-编程开发
下一篇: Java入门学习指导之最佳方向-Java基础-Java-编程开发
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值