要理解socket就要先理解http和tcp的区别,简单说就是一个是短链,一个是长链,一个是去服务器拉数据,一个是服务器可以主动推数据。
而socket就是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。-来自网络。
那么如何用php+js做到服务器推呢?
客户端客户端非常简单,利用现代浏览器的WebSocket API,这里介绍的很详细:
核心代码:
JAVASCRIPT
1
2
3
4
5
var wsServer = \'ws://127.0.0.1:8080\';
var ws = new WebSocket(wsServer);
ws.onmessage = function (evt) {
do sth
};