APNs功能之Node.js和Mysql应用总结
这篇文档主要是总结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);