WhatsApp 背后的开源力量

WhatsApp 被FB以$190亿美刀收购后,似乎才开始在国内被了解起来,实际上它在2009年就出现了,国外用的多些。但估计在国内很难生存,起码每年$1的年费(WP、安卓首年免费)就不会受中国老百姓待见了。我们来看看WhatsApp 背后用了哪些开源项目吧~

 

1、Erlang 高可靠性编程语言(爱立信):

Erlang is a programming language used to build massively scalable soft real-time systems with requirements on high availability.

 

2、FreeBSD操作系统:

FreeBSD is an advanced computer operating system used to power modern servers, desktops and embedded platforms.

 

3、jqGrid 表格:

jqGrid is an Ajax-enabled JavaScript control that provides solutions for representing and manipulating tabular data on the web.

 

4、libphonenumber 国际手机号码解析库:

libphonenumber is Google's common Java, C++ and Javascript library for parsing, formatting, storing and validating international phone numbers.

 

5、LightOpenId  轻量级openid鉴权:

LightOpenId is a PHP 5 library for easy openid authentication.

 

6、lighttpd 高性能http服务器:

lighttpd is an open-source web server optimized for high performance environments while remaining standards-compliant, secure and flexible.

 

7、PHP 脚本语言,这个不说了:

PHP is a popular general-purpose scripting language that is especially suited to web development.

 

8、yaws 轻量级的支持动态内容的web服务器:

yaws is a HTTP high perfomance 1.1 webserver particularly well suited for dynamic-content web applications.

 

另外,WhatsApp 通讯协议是基于开放的XMPP(Extensible Messaging and Presence Protocol),但作了定制化处理。.

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先我们认识HTML5的WebSocket WebSocket API是下一代客户端-服务器的异步通信方法。该通信取代了单个的TCP套接字,使用ws或wss协议,可用于任意的客户端和服务器程序。WebSocket目前由W3C进行标准化。WebSocket已经受到Firefox 4、Chrome 4、Opera 10.70以及Safari 5等浏览器的支持。WebSocket API最伟大之处在于服务器和客户端可以在给定的时间范围内的任意时刻,相互推送信息。WebSocket并不限于以Ajax(或XHR)方式通信,因为Ajax技术需要客户端发起请求,而WebSocket服务器和客户端可以彼此相互推送信息;XHR受到域的限制,而WebSocket允许跨域通信。Ajax技术很聪明的一点是没有设计要使用的方式。WebSocket为指定目标创建,用于双向推送消息。 其实我一直想不明白HTML5包装个应用层办议作为Socket通过基础目的是为了什么,其实直接支持Socket tcp相对来说更加简单灵活.既然标准已经制定而浏览器也支持那对于我们开发者来说只能用的分.最新版本的WebSocket协议于2011-12其标准规范已经明确下来,所以现在可以根据这标准进行相应的开发.详细参考 http://datatracker.ietf.org/doc/rfc6455/?include_text=1 WebSocket协议主要分为两部分,第一部分是连接许可验证和验证后的数据交互.连接许可验证比较简单,由Client发送一个类似于HTTP的请求,服务端获取请求后根据请求的KEY生成对应的值并返回. websocket协议分析 这图有点难看懂...里面包括几种情况有掩码,数据长度小于126,小于UINT16和小于UINT64等几种情况.后面会慢慢详细说明.整个协议头大概分三部分组成,第一部分是描述消息结束情况和类型,第二部分是描述是否存在掩码长度,第三部分是扩展长度描述和掩码值. 具体协议分析查看连接:http://www.cnblogs.com/smark/archive/2012/11/26/2789812.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值