WebSocket协议是基于TCP的一种新的协议。WebSocket最初在HTML5规范中被引用为TCP连接,作为基于TCP的套接字API的占位符。它实现了浏览器与服务器全双工(full-duplex)通信。这段介绍来自百科。
当然websocket也可以用于android建立长链接,实现IM通信
优势:节省内存空间。当然这个是服务端并发时候节省内存空间,支持的并发量更大 ,这个我没做服务端没有验证。
原理和优势不再本文讨论范围内,今天主要记录下怎么编译libwebsocket.so
1.下载Libwebseocket库
git clone https://github.com/warmcat/libwebsockets.git
2.环境准备(Mac版)
2.1安装zlib :
brew install zlib
2.2安装makedepend:
brew install makedepend
2.3安装cmake :
brew install cmake
3.编译.a静态文件
有了上面这些工具,准备工作差不多了,然后通过libwebsocket/contrib目录下的android-make-script.sh编译.a文件 这个sh文件有些问题,比如:只能编译出arm架构的文件,并且在编译zlib库时使用的libtool有问题,libwebsocket原文件编译出错。
针对这些问题作了一些修改: