最近项目需要,利用websocket实现PHP对ws协议的请求,这里PHP是作为一个客户端通过ws协议请求服务,而不是作为服务端,这个首先要区分下。

ws协议是websocket的东西,现在也有很多东西可以实现,如workerman、swoole,但是说实话,看到workerman的文档,有介绍怎么实现这个功能,但是个人是感觉真的很头疼,一切都是基于cli,基本都是用到命令行去执行,一个类似curl请求获取结果的功能还要去捣鼓这些东西,真是呵呵哒。swoole就不说了,首先Windows都不支持(当然,现在基本都是用Linux,但是个人感觉不是很通用)。

网上找了很多资料,说实话百度的东西都是扯淡的,越看越让你心烦,最后翻墙去Google终于找到方法了,实现的办法也很简单,几句代码就解决了,当然websocket类库还是要的(这个可能个人能力有限,百度没找到)。

先说明,这里是基于thinkPHP5来实现的,不过基本流程都是差不多的

把下载下来的websocket类库放到vendor,然后引用Client.php文件

vendor("websocket.lib.Client");$data='{"id":"1".....}';请求数据$url="ws://xxx:9009"; //服务地址$client=new \WebSocket\Client($url); //实例化$client->send($data); //发送数据$result=$client->receive(); //接收数据$client->close();//关闭连接

基本就是这几行代码,当然,当时用的时候,websocket引用会有一些小问题,具体的看问题解决即可

这里提供下websocket类库的下载,说实话,这个还是用Google找到的(可能个人的搜索不到位)

链接地址:https://github.com/Textalk/websocket-php

PHP利用websocket实现客户端请求ws协议功能相关推荐

  1. tomcat 将http协议改为https协议,Websocket请求ws协议修改为wss协议

    tomcat 将http协议改为https协议,Websocket请求ws协议修改为wss协议 一. 说明 WS协议和WSS协议两个均是WebSocket协议的SCHEM,两者一个是非安全的,一个是安 ...

  2. 使用nginx解决一台服务器中ws协议与wss协议共存问题 2017-07-09 13:29:06

    https://www.worldflying.cn/article-id-13.html https://tieba.baidu.com/p/5213484390?red_tag=000961462 ...

  3. 基于netty访问WebSocket(java的websocket客户端)(访问远程ws协议)

    1. 首先创建mvn项目 2. pom中导入jar包 <dependency><groupId>io.netty</groupId><artifactId&g ...

  4. websocket ws 协议 简介

    一.内容概览 WebSocket的出现,使得浏览器具备了实时双向通信的能力.本文由浅入深,介绍了WebSocket如何建立连接.交换数据的细节,以及数据帧的格式.此外,还简要介绍了针对WebSocke ...

  5. 【行情获取】通过WebSocket使用ws协议获取黄金、外汇实时行情(行情自动推送,方便实现数据驱动下的自动交易)

    文章目录 前言 一.WebSocket是什么? 二.使用准备 1. 引入websocket-client库 2. 获取websocket行情数据 三.获取黄金行情的完整代码 总结 前言 一.WebSo ...

  6. ws协议 服务器,Node.js WebSocket 协议

    WebSocket websocket 是 HTML5 标准的一个新的 网络协议.它是基于 HTTP 协议之上的扩展,是一种可以双向通信的协议. 传统的 HTTP 协议 通信,服务端是不能主动发信息给 ...

  7. 微信小程序的 websocket 以及 微信开发者工具测试 ws 协议没有数据的 离奇解决方案 记录

    微信小程序的 websocket 在本地web能够使用ws协议去链接websocket,但是小程序不能使用. 一.WSS 协议与 WS 协议 二.业务场景记录 : 使用 ws 协议的 websocek ...

  8. asp.net 无法获取客户端请求的真实协议https

    问题: a) 客户端请求的是https,但服务端Request.Url获取的却是http: b) 负载均衡连接协议服务端与客户端协议不一致. 有时候我们需要获取或拼接连接,但是可能会出现客户端使用ht ...

  9. java做websocket的客户端wss协议

    首先是导入的maven依赖,开始的时候用新版的1.4.0,如果只是websocket协议,ws协议完全没问题,直接就可以连接,但是当使用wss的时候,没找到相应的解决方案,总是在报错找不到Defaul ...

最新文章

  1. linux进程中对信号的屏蔽,linux进程中的信号屏蔽
  2. 用 Hasor 谈一谈MVC设计模式
  3. redis管道pipeline的运用
  4. Magicodes.IE 2.5.6.1发布
  5. Leansoft再发招贤令:面试官徐磊有话讲 | IDCF
  6. 又炸了!三星5G旗舰手机首燃 官方如此回应...
  7. Windows下安装 rubyinstaller
  8. ipad下载python_ipad python
  9. 树状图 - Dendrogram
  10. 计算机网络为何使用分组交换,而不是电路交换
  11. antDesign 自定义分页样式
  12. 如何做好笔记以及记好笔记的好处
  13. 5g网站服务器宽带,别装有线宽带了,5G以后,有线宽带将被淘汰
  14. 字号、pt、px、inch、cm 之间的关系及对照表
  15. 动态拼图怎么做?如何将多张动图拼接在一起?
  16. IEEE T PAMI投稿注意事项
  17. 被迫选择了到了外包公司
  18. 对YAML :: LoadFile的未定义引用
  19. SQL “varchar转换为numeric时出错” 的小插曲
  20. 计算机毕业设计 SSM车辆挂牌管理系统 电动车实名挂牌管理系统 车辆挂牌办理系统Java Vue MySQL数据库 远程调试 代码讲解

热门文章

  1. 【云原生 | 24】Docker运行数据库实战之MySQL
  2. 用Matlab画外接矩形——Regionprops函数详解:度量图像区域属性
  3. (附源码)计算机毕业设计SSM基于web的火车订票管理系统
  4. 爬虫爬取王者荣耀英雄
  5. Java工作引擎Jflow表单从表Excel格式数据导入
  6. centos7学习笔记:开启虚拟机黑屏
  7. Django(8)reverse函数
  8. 我们拿这10年做什么——完成破茧成蝶的过程
  9. 安卓AudioBuffer流程
  10. 卧槽,小小的单例模式竟然有这么多种写法?