文档详情

APNs功能之Node.js和Mysql应用总结.doc

发布:2017-01-28约1.73万字共18页下载文档
文本预览下载声明
   这篇文档主要是总结Node.js和Mysql的学习心得体会。当然也可以看作是此前所写的消息推送服务的续篇。 ???????? 简单描述下应用背景,我们的应用需要实现苹果的消息推送服务APNs,之前已经实现了iOS客户端配置和功能代码,也实现了推送通知的本地Provider功能代码,具体参考此前的系列总结。好比一个三角形,A点代表iOS移动设备端,B点代表苹果的消息推送服务器,C点代表应用开发者的本地服务器,现在A和B连接好了,B和C也连接好了,就差A和 B建立连接沟通。 ???????? 这样一来,很明显就是要在本地搭建一个服务器了,可以处理A发送的请求;当然也少不了数据库,用来存储相关数据。 ???????? 说到这里,不同技术背景的人会有不同的方案,在此我采用了Node.js+Mysql的解决方案。当然其他方案如ASN.NET、JSP、PHP加上SQLServer、Mysql、MongoDB等等就不谈论了。纯粹作为技术学习和新方案的尝试。 ???????? Node.js ???????? 作为这篇文档的重点内容,Node.js肯定是要优先总结的。 ???????? 我这种刚学习Node.js的新手,就不敢把此文当做Node.js的入门资料了,只是简单介绍一下,然后直接根据应用需求实现代码。 ???????? Node.js实现了服务端Javascript,通过简单快捷的环境搭建,就可以实现一个运行Javascript的服务器。 1、? 去官网下载最新的Node.js安装程序。说明一下,我是在Windows32位操作系统上安装,所以下载Windows对应安装程序即可。我的版本为:node-v0.10.24-x86。 2、? 安装Node.js。 3、? 在开始—所有程序中,找到Node.js的命令行程序Node.js command prompt并运行 好了,至此,你已经可以开始编程了。就是这么简单快捷。 或许很多人还是很困惑,那在哪里写代码呢,命令行? 在此,我要说一下刚接触时候我的感受:我觉得很郁闷,不知道从何入手。 对于很多新手,大家需要的是把事情说明白一点,而不是玄乎。可以这样理解,Node.js就是一个服务器,用于搭载Javascript、CSS、Html等网页所可以有的一切。但是他本身不集成IDE。再具体点,他的出现,使我们可以不用熟悉的IIS、Apache、Tomcat来部署了,只需要运行Node.js,然后通过一句话“node xxx.js”,加载已经写好的Javascript,就一切OK了。是的,Javascript,那用你熟悉的任何方式和工具去书写吧。Notepad++是我选择的工具。 一定还有疑惑,没关系,我们先来看实例。 下列实例实现一个可以上传图片文件并预览的页面,还有一个向数据库插入一条数据的请求。 先看这个例子NodejsDemo的文件夹结构 ? 说明:index.js是入口,server.js用于启动服务,router.js用于路由请求,requesHandlers.js用于处理路由后的对应请求,mysqlOperation.js用于处理数据库操作,mysqlDBHelper.js用于连接数据库并操作 ? 接下就是具体代码部分了,太多语法我无法一下说清楚,在需要的地方,我会稍加说明,想了解更多,建议去官网查看API说明,毕竟是抛砖引玉哈。 ? ????????????? Index.js的代码: 1 var server = require(./server); 2 3 var router = require(./router); 4 5 var requestHandlers = require(./requestHandlers); 6 7 8 9 var handle = {} 10 11 handle[/] = requestHandlers.start; 12 13 handle[/start] = requestHandlers.start; 14 15 handle[/upload] = requestHandlers.upload; 16 17 handle[/show] = requestHandlers.show; 18 19 handle[/sendMyInfo] = requestHandlers.sendMyInfo; 20 21 22 23 server.start(router.route, handle); View Code ? 说明:这是示例的入口,最后一句,调用server中的start方法,并传递两个参数,第一个是router中route函数,第二个是类似字典实例的handle。 ?
显示全部
相似文档