websocket是html5的主要feature,它直接在浏览器上对与socket的支持,这给了web开拓无限的想象。
他办理了web实时化的问题,比较传统http有如下好处:
一个WEB客户端只建立一个TCP连接

Websocket做事端可以推送(push)数据到web客户端.
有更加轻量级的头,减少数据传送量
本文来重点来剖析下。
websocket的事理和运用
websocket通信协议实现的是基于浏览器的原生socket,通过浏览器的支持在web上实现了与做事器真个socket通信。
WebSocket没有试图在HTTP之上仿照server推送,而是直接在TCP之上定义了帧协议,因此WebSocket能够支持双向的通信。
node.js与websocket的结合
首先websocket API是基于事宜的,他是对付客户端而言。
而node.js天生便是一个高效的做事端措辞,可以直策应用 javascript直接来处理来自客户真个要求。也便是说:如果做事端这边须要大量的业务逻辑开拓,则可以直策应用node开拓。通过node和 websocket的结合可以开拓出很多实时性哀求很高的web运用。
大略的说便是:用node实现了websocket draft-76的协议,同时他对外供应了api,可以方便其他运用程序简化编程。
把稳问题:
把稳websocket只是个协议,他没有自己的做事,他的启动是通过脚本启动的,本文中的安装首先是默认php已安装好的
1.安装node
cd /usr/local/src
//下载node
wget https://nodejs.org/dist/v15.3.0/node-v15.3.0.tar.gz
//解压
tar -zxvf node-v15.3.0.tar.gz
配置编译安装node
cd node-v15.3.0
//配置 prefix 安装路径
./configure --prefix=/usr/local/node
//编译 安装(把稳韶光很长)
make && make install
配置Node环境
//建立软连接
ln -s /usr/local/node/bin/npm /usr/local/bin/
ln -s /usr/local/node/bin/node /usr/local/bin/
检测是否安装成功
node -v
利用node
2.安装Websocket
利用Node下载
npm install websocket
至此websocket安装完成
3利用websocket
(php利用websocket须要先下载扩展:php_sockets,然后在php安装目录下的php.ini文件 extension=php_sockets.dll)
php 做事端
做事端文件(启动脚本:把稳这个文件中的详细代码,请自行百度搜索,在此不在展示)
serverSocket.php
<?php
class SocketService
{
}
$sock = new SocketService('127.0.0.1','9000');
$sock->run();
实行脚本(之后便可以通过接口、html发送/获取数据)
php serverSocket.php