#### WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议,主要用于客户端与服务器双方及时通信。 >[info] 简单的js实现 ~~~ ws = new WebSocket("ws://www.push.com:2346"); ws.onopen = function() { alert("连接成功"); ws.send('tom'); alert("给服务端发送一个字符串:tom"); }; ws.onmessage = function(e) { alert("收到服务端的消息:" + e.data); }; ~~~ >[info] WebSocket的javascript基本操作 ~~~ if ("WebSocket" in window){ alert("您的浏览器支持 WebSocket!"); // 打开一个 web socket var ws = new WebSocket("ws://localhost:9998/echo"); ws.onopen = function() { // Web Socket 已连接上,使用 send() 方法发送数据 ws.send("发送数据"); alert("数据发送中..."); }; ws.onmessage = function (evt) { var received_msg = evt.data; alert("数据已接收..."); }; ws.onclose = function() { // 关闭 websocket alert("连接已关闭..."); }; }else{ // 浏览器不支持 WebSocket alert("您的浏览器不支持 WebSocket!"); } ~~~ ### 关于PHP Swoole PHP 还局限于做 Web 网站吗?Swoole 是一个异步并行的通信引擎,作为 PHP 的扩展来运行。Node.js 的异步回调 Swoole 有,Go语言的协程 Swoole 也有,这完全颠覆了对 PHP 的认知。 使用 Swoole PHP 可以实现常驻内存的 Server 程序,可以实现 TCP 、 UDP 异步网络通信的编程开发。过去PHP只能做一个 Web 网站,现在使用 Swoole 可以做 Java 、C++ 才能实现的通信服务,比如 WebSocket 即使通信、聊天、推送服务器、RPC 远程调用服务、网关、代理、游戏服务器等。 可以说,Swoole 是每位 PHPer 都需掌握的必备技能。但 Swoole 的使用门槛对新手来说相对较高,需要付出一定的精力成本。