php WebSockets服务端和客户端

关于WebSockets 的基础概念参见:HTML5 WebSockets 基础使用学习教程

本文简单记录PHP利用WebSockets
和HTML5 WebSockets API的服务器推技术来实现在线聊天系统

php WebSockets服务端和客户端Demo下载

解压后只有两个文件:server.php(服务端)和client.html(客户端)

运行WebSockets服务器端

,命令行模式下使用php -q path\server.php
运行

,或者浏览器访问server.php

注:浏览器必须支持HTML5的WebSocket
。可使用当前的最新Firefox或Chrome。

另外PHP需要支持php_sockets组件
。windows环境下请将php.ini的php_sockets.dll打开。

以上条件满足后,打开http://domo.cn/WebSockets/client.html

如果出现图中提示:

PHP websockets error

这情况为server.php端未运行。可以另开个窗口:http://demo.cn/WebSockets/server.php

当出现提示:Message: Created socket Resource id #2 Message: Socket bound to localhost:8000 Message: Start listening on Socket.,此时表示WebSockets服务端运行中。

再次访问http://domo.cn/WebSockets/client.html,

PHP websockets 连接成功

此时客户端和服务器端WebSockets连接成功。

发送测试内容: PHP WebSockets Test

PHP WebSockets服务器主动 返回发送内容

PHP websockets exit

点击退出,客户端即与服务器端断开。

这样就利用PHP的sockets和HTML5的WebSockets API简单的实现了服务器推。

本文永久地址:https://sjolzy.cn/php-WebSockets-server-and-client.html

--EOF--

随机文章

已有 16 条评论

  1. VEGAVEGA

    看得懂code的人自然会改出自己需要的WSD,这段我改在酒店的IP遥控器上,给手机控制房控与485通讯。

    可以一对一、一对多、一对MAC、一对群组IP

    一万组一对单连线给 threads

    #EMMA

  2. EmmaEmma

    我觉得这种东西自己开发太麻烦了,就别自己捣鼓了,找个第三方,方便,GoEasy就挺不错的,我昨天试了一下,代码简洁易懂,几分钟我就洗了一个自己的实时推送功能;官网: http://goeasy.io/

  3. xxxxxx

    内容不错,就是代码有点久远,需要自己调试,谢谢分享

  4. luffyluffy

    Message: Created socket Resource id #2 Message: Socket bound to localhost:8009 Message: Start listening on Socket.
    Strict Standards: Only variables should be passed by reference in /Library/WebServer/Documents/WebSockets/server.php on line 167

    Strict Standards: Only variables should be passed by reference in /Library/WebServer/Documents/WebSockets/server.php on line 167
    运行出现以下报错,状态为3

    1. 这代码比较久远了,跟如今你的版本、环境可能有差异。针对性调试看看?

  5. xiaozhaxiaozha

    附件丢失下载不了,能否麻烦发我邮箱一份。谢谢

    1. 已发送。

      1. 下载链接已经修复了。

      2. 文章内下载链接已修复,重新下载试试。

      3. 楼主好人楼主好人

        楼主给我也发一份呗 谢谢了

      4. xiaozhaxiaozha

        邮件已经收到,非常感谢。存在上面评论存在的问题,不知如何解决?

  6. janejane

    载入了怎么运行server.php没反应?

  7. vincentvincent

    楼主,请教一下,为什么我按照默认的环境配置好了,client端出来disconnected,状态3?
    而且send消息也没有反应,会是什么原因?

    1. extension=php_sockets.dll 这个载入了没?

  8. lz是sblz是sb

    sb

    1. 呵呵,为何对我如此成见?

添加新评论