Tech base:长连接。
轮询,长连接是2个概念。轮询使用while(true) 不断发起请求。
TCP: 传输层协议
HTTP: 应用层协议
WebSocket: 应用层协议,和http一样,base on tcp
长连接:一次建立,长久使用。
Socket:是封装了tcp的一个接口, is a tool.
Telnet: a tool on linux, could be used for checking our tcp if run.
MeepoPS: an open source framework, developed by pure php ,socket service .
The link of tcp is reliable, it could ensure 4 no: no data lost ,no data out-of-sequence, no data error, no data repetition .
Socket:套接字,正体是编程的一个接口,封装了tcp/ip协议
起源于unix,是建立长连接的基础。
socket机制就像打电话一样。socket对通信设施的细节do not care ,
套接字的连接过程:
Step1 : Server monitor, Step2 :client request , Step3:connect confirm.
HTTP:
The server does not know 2 requests if from the same client,for solving this , web server inquires cookie,
WebSocket
是H5的一个 new protocol.
是web领域主流的即时通讯协议。
在传统的web开发中,浏览器通过http仅能实现单向的通信,そのために、H5定义了Websocket protocol, 能更好地节约服务器的资源和带宽,并且达到实时通信的效果, 很多网站为了实现即时通讯,都采用轮询,这个明显的缺点就是,浏览器需要不断地向服务器发送请求,しかし一个http request的头 very long , 里边有用的数据很小, 在websocket里,浏览器和服务器只需要做一个握手的动作,然后浏览器和服务器之间就可以产生一个fast 通道,两者之间就可以之间进行数据传送。这样有两大优点:
- Header变成了一个很小的值,大概只有2个字节,
== - Serverpush, 服务器不再被动了,而是有了新datas就主动push给browser,在client,js只需要将服务器的ip和port作为参数,执行New Websocket 这一行代码,client就可以发起一个websocket请求,
==
http的成功code 是200
WebSocket是** 101**
WS的header和http的header是一模一样的
进入MeepoPS官网,进入github,
<blockquote>PS: PHP Socket</blockquote>
PCNTL:php多进程操作的库。
就是说:想要用MeepoPS, 需要在Mac Linux 下运行。win上需要安虚拟机。