# 作为ws/wss客户端

有时候需要让workerman作为客户端以ws/wss协议去连接某个服务端,并与之交互。

以下是示例。

1、workerman作为ws客户端

```php

use Workerman\Worker;

use Workerman\Connection\AsyncTcpConnection;

require_once __DIR__ . '/../Workerman/Autoloader.php';

$worker = new Worker();

$worker->onWorkerStart = function($worker){

$con = new AsyncTcpConnection('ws://echo.websocket.org:80');

$con->onConnect = function($con) {

$con->send('hello');

};

$con->onMessage = function($con, $data) {

echo $data;

};

$con->connect();

};

Worker::runAll();

```

2、workerman作为wss(ws+ssl)客户端

```php

use Workerman\Worker;

use Workerman\Connection\AsyncTcpConnection;

require_once __DIR__ . '/../Workerman/Autoloader.php';

$worker = new Worker();

$worker->onWorkerStart = function($worker){

// ssl需要访问443端口

$con = new AsyncTcpConnection('ws://echo.websocket.org:443');

// 设置以ssl加密方式访问,使之成为wss

$con->transport = 'ssl';

$con->onConnect = function($con) {

$con->send('hello');

};

$con->onMessage = function($con, $data) {

echo $data;

};

$con->connect();

};

Worker::runAll();

```

3、workerman作为wss(ws+ssl)客户端(需要本地ssl证书)

```php

use Workerman\Worker;

use Workerman\Connection\AsyncTcpConnection;

require_once __DIR__ . '/../Workerman/Autoloader.php';

$worker = new Worker();

$worker->onWorkerStart = function($worker){

// 设置访问对方主机的本地ip及端口以及ssl证书

$context_option = array(

// ssl选项,参考http://php.net/manual/zh/context.ssl.php

'ssl' => array(

// 本地证书路径。 必须是 PEM 格式,并且包含本地的证书及私钥。

'local_cert' => '/your/path/to/pemfile',

// local_cert 文件的密码。

'passphrase' => 'your_pem_passphrase',

// 是否允许自签名证书。

'allow_self_signed' => true,

// 是否需要验证 SSL 证书。

'verify_peer' => false

)

);

// ssl需要访问443端口

$con = new AsyncTcpConnection('ws://echo.websocket.org:443', $context_option);

// 设置以ssl加密方式访问,使之成为wss

$con->transport = 'ssl';

$con->onConnect = function($con) {

$con->send('hello');

};

$con->onMessage = function($con, $data) {

echo $data;

};

$con->connect();

};

Worker::runAll();

```

wss 协议php,作为ws/wss客户端相关推荐

  1. 【用websocket的注意了!】https下浏览器只允许使用wss协议,不允许使用ws协议!注意了!

    问题描述: https下发起ws连接,连接失败,浏览器报错. 问题排查: https连接下浏览器不允许ws协议了,只允许wss协议. 报错内容如下: VM71 index.js:5 Mixed Con ...

  2. Lnmp Swoole使用wss协议

    image.png 准备工作 申请 SSL 证书,传送 阿里云免费SSL证书申请: 首先安装 swoole 扩展,传送 Lnmp Swoole扩展安装. 开启SSL支持 安装openssl $ apt ...

  3. nginx实现对websocket加密协议wss协议的反向代理以及websocket整合springboot入门(踩坑)

    出发点 最近公司需要有一个推送前端消息的需求 首选websocket进行推送,也做过客服系统接触过,最近看了一点websocket的相关内容记录总结一下. 什么是websocket websocket ...

  4. nginx websocket wss 连接失败 failed_浅谈WebSocket协议、WS协议和WSS协议原理及关系

    现如今,一些游戏,网站,APP,支付行业的网络经常会收到DDOS和CC,因此这个事情也变得不足为奇了.但在防护方案中有多种不同的方案.如,今天有几个同事在针对高防CDN问题讨论的时,谈到WebSock ...

  5. 利用netty开发webScoketClient(支持wss协议,客户端、服务端心跳实现)

    这里写目录标题 前言 题外话 webScoketClient实现方式一(jacva_webscoket) webScoketClient工具类 简单编写测试 webScoketClient实现方式二( ...

  6. Nginx去配置socket的时候,发现nginx没有配置ws/wss协议,配置步骤如下

    配置之前需要知道ws协议和wss协议的区别 一.WS 和 WSS 的区别 WebSocket 协议是 html5 的一种通信协议,可以使客户端和服务端双向数据传输更加简单快捷,并且在 TCP 连接进行 ...

  7. php reactphp wss_浅谈WebSocket协议、WS协议和WSS协议原理及关系

    websocket在实时通信领域运用的比较多,比如社交聊天.弹幕.多玩家游戏.协同编辑.股票基金实时报价.体育实况更新.视频会议/聊天.基于位置的应用.在线教育.智能家居等需要高实时的场景. 具体到w ...

  8. 浅谈WebSocket协议、WS协议和WSS协议原理及关系

    现如今,一些游戏,网站,APP,支付行业的网络经常会收到DDOS和CC,因此这个事情也变得不足为奇了.但在防护方案中有多种不同的方案.如,今天有几个同事在针对高防CDN问题讨论的时,谈到WebSock ...

  9. 使用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 ...

最新文章

  1. 连载《一个程序猿的生命周期》-《发展篇》 - 5.奶奶终于“自杀”了
  2. spring 框架概述
  3. LeetCode5382. HTML 实体解析器
  4. idea实现抽象类的所有抽象方法_深入理解Java的接口和抽象类
  5. 软件工程与项目管理的关系_PM:软件项目管理概要
  6. Linux分支代码必须公开吗,linux – 当拉出不同的分支时,让“git pull”请求确认...
  7. ubuntu创建wifi热点plasma-nm
  8. python前端界面模板_Python编程flask使用页面模版的方法
  9. android cmake 打印_Android使用CMAKE编译libjpeg
  10. JAVANBA论坛系统计算机毕业设计Mybatis+系统+数据库+调试部署
  11. 计算机调剂到mba,这8种考生不能调剂!MBA/MPAcc等考研生注意
  12. QT下的几种透明效果
  13. Unity发布PC平台exe的窗口花样(WindowsAPI、捕获关闭事件、隐藏窗口标题栏、隐藏最小化最大化关闭按钮等等)
  14. 为什么从事大数据行业,一定要学习Python?
  15. canvas水平垂直居中
  16. 学习汇编语言Day05-Cheat Enginee(CE)使用指南
  17. python爬虫爬取链家网房价信息
  18. 【JAVA】基础概念
  19. 产品经理常用的软件可推荐的有哪些?
  20. rhsca10.29

热门文章

  1. 移植0.96四针脚OLED程序到msos系统
  2. 【大数据】中国省级大数据管理局
  3. Spring Boot 1.5.10项目引入knife4j接口文档
  4. 模拟stack/queue/priority_queue
  5. SAP通过事件触发后台JOB_SAP刘梦_新浪博客
  6. Wyn Enterprise 嵌入式商业智能和报表软件
  7. NVIDIA显卡计算力
  8. 关于股市里的那些事,学会选股;赢在起跑线
  9. GeoGebra 数列极限
  10. 学校信息计算机教案百度文库,人教版信息技术教案 八年级下册_百度文库(45页)-原创力文档...