微信为什么不丢消息?
上一章和大家分享了《 http如何像tcp一样实时的收消息? 》 , 本章来聊一聊即时通讯(Instant Messaging,后简称im) 消息的可靠投递 。
一、报文类型 im的客户端与服务器通过发送报文(也就是网络包)来完成消息的传递,报文分为三种
请求报文 (request,后简称为为R)
应答报文 (acknowledge,后简称为A)…
记录-交流-Web开发知识分享
上一章和大家分享了《 http如何像tcp一样实时的收消息? 》 , 本章来聊一聊即时通讯(Instant Messaging,后简称im) 消息的可靠投递 。
一、报文类型 im的客户端与服务器通过发送报文(也就是网络包)来完成消息的传递,报文分为三种
请求报文 (request,后简称为为R)
应答报文 (acknowledge,后简称为A)…
当发送方用户 A 发送消息给接收方用户 B 时, 如果用户 B 在线 ,之前的文章《 微信为啥不丢“在线消息”? 》聊过,可以通过 应用层的确认,发送方的超时重传,接收方的去重保证业务层面消息的不丢不重 。
那如果接收方用户 B 不在线 ,系统是如何保证消息的可达性的呢?这是本文要讨论的问题。…
前言:“客户端上传时间戳”的玩法,你玩过么?一起聊聊时间戳的奇技淫巧!
缘起:无线时代,流量敏感。APP在登录后,往往要向服务器同步非常多的数据,很费流量,技术上有没有节省流量的方法呢?这是本文要讨论的问题。…
这篇文章主要介绍了php的mkdir()函数创建文件夹比较安全的权限设置方法,遇到的情况是系统umask影响了mkdir的指定权限参数比期望要小,使用chmod函数则没有这个问题,需要的朋友可以参考下
问题描述:
使用以下php代码创建了一个目录,期望目录的权限是0777,实际结果是0755
mkdir('./aa/',0777);…
$.ajax( { url: url, //这里是静态页的地址 type: "GET", //静态页用get方法,否则服务器会抛出405错误 success: function(data){ var result = $(data).find("另一个html页面的指定的一部分"); $("本页面div").html(result); } }); 例如: <script type="text/javascript"> $.ajax({ url: '/' + currentBlogApp + '/mvc/blog/Minyx2_Lite_SideColumn.aspx', data:'{}', type: 'post', dataType: 'text', contentType: 'application/json;…
AJAX从一个域请求另一个域会有跨域的问题。那么如何在nginx上实现ajax跨域请求呢?要在nginx上启用跨域请求,需要添加add_header Access-Control*指令。如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
|
location /{
add_header 'Access-Control-Allow-Origin' 'http://other.subdomain.com';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET';
... |
mysql主从复制
(超简单)
怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下:
1、主从服务器分别作以下操作:
1.1、版本一致
1.2、初始化表,并在后台启动mysql
1.3、修改root的密码
最后更新于 2016年12月4日 …
Navicat 是一套快速、可靠并价格相宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设。Navicat提供多达 7 种语言供客户选择,被公认为全球最受欢迎的数据库前端用户界面工具。
Navicat旗下有多个产品成员 ,可以用来对本机或远程的 MySQL、SQL Server、SQLite、Oracle 及 PostgreSQL 数据库进行管理及开发。因为文中介绍的是MySQL数据库,因此我们要用到的是Navicat旗下的Navicat For MySQL工具。Navicat For MySQL下载链接。 …
(参考apache手册及百度百科:http://baike.baidu.com/view/188371.htm)
访问静态页面时,页面有一个模块无法显示并报错“an error occurred while processing this directive”,查看原html文件,发现该处是通过SSI的命令include进来的:
<!--#include virtual="/html/attention/expo.html"--> 通过改正引入文件的路径,成功引入。这里做一下笔记:…
近期评论