标签:
前些日子在家突然想看看微信公众号的开发,看了它的通讯机智后发现可以试着模拟出这样一个平台。
微信公众平台的通讯机制:
由此可以看出公众号的实现需要三大部分:客户端(用户部分,也就是微信客户端) 服务端 公众号(实际为动态网页)。
而这里主要的是服务端和客户端两个部分,它们构成了“平台”,而公众号是不同的公众号持有者自己开发的。
服务端和客户端之间的通讯这里,为了实现即时通讯,我将采用基于 socket 的 tcp 通讯。
(对socket还不了解的,可以百度了解学习一些,这个就不多说了,这里提供一个自己写的例子:基于socket的通讯模型)
基本的流程是这样的:
1.客户端发消息送到服务器
2.服务器解析内容
3.服务器通过 get 或 post 到公众号url
4.服务器解析公众号返回的消息
5.服务器将消息发回给客户端
以上看起来步骤多,但实际情况可能会简单一些。
以下是成品演示:
1.公众号发送消息
2.服务器解析内容
3.服务器通过 get 或 post 到公众号url
4.服务器解析公众号返回的消息
(2.3.4步在界面都是在服务器的控制台窗口)
5.最后客户端得到回复
(本文仅对其实现原理进行创建的模拟模型,实际的微信平台没那么简单,本位除了实现微信公众号的模拟,还实现了用户之间的一对一即时通讯,而且还对消息提示做了些加工,内容可能会比较多,比较乱,具体大家可以查看源码,之后会有源码链接)
标签:
原文地址:http://www.cnblogs.com/mengtree/p/5424618.html