跨平台移动开发实战(七)------服务器端快速搭建
客户端与服务端基于HTTP和WebSocket网络协议来通讯,其中HTTP用于从客户端向服务端的请求,WebSocket用于从服务端向客户端的推送,因此服务器端需要支持HTTP和WebSocket两种协议。HTTP好说,所有Web服务器都支持,而支持WebSocket的倒不多。
Java阵营:Tomcat 7和Netty.Net阵营:System.Net.WebSocketsNodejs阵营:Socket.io.Net和Nodejs俺不熟,就不作评论,Tomcat 7在最新版本里加入对Websocket支持,但我需要更为轻量级的方案,最好是内嵌,因此Netty就成了我首选。Netty源码里有websocket的Samples,我就是直接在samples上进行修改,总结下来需要如下几步:
- 打开网络端口
(new Thread(new Runnable(){@Overridepublic void run() {int port = 8081;Server server = new Server(port);Context root = new Context(server,"/",Context.SESSIONS);root.addServlet(new ServletHolder(new LoginSTServlet()), "/login");try{server.start(); System.out.println("Http server started at port " + port + '.');}catch(Exception err){err.printStackTrace();}}})).start();这样,几个类就搭起了服务端,当然这只是快速开始,服务端的建设远不止这些,比如security和数据压缩等,这些我单独拿出来详细分析