workerman客户端连不上怎么办
发布时间 - 2019-12-12 00:00:00 点击率:次
workerman客户端连不上怎么办?
客户端连接失败原因
连接失败客户端一般会有两种报错,connection refuse 和 connection timeout
connection refuse(连接拒绝)
一般是以下原因:
1、客户端连接的端口错了
2、客户端连接的域名或者ip错了
3、如果客户端使用了域名连接,域名可能指向了错误的服务器ip
4、服务端没有启动或者端口没有被监听
5、使用了网络代理软件
6、服务端监听ip与访问地址不在一个地址段。例如服务端监听127.0.0.1,则客户端只能通过127.0.0.1连接,不能通过局域网ip或者外网ip连接。建议监听地址设置为0.0.0.0,这样本机、内网、外网都可以连接。
connection timeout(连接超时)
一般是以下原因:
1、服务器防火墙阻止了连接,可以临时关闭防火墙试下
2、如果是云服务器,安全组也可能会阻止连接建立,需要到管理后台开放对应端口
3、服务器不存在或者没有启动
4、如果客户端使用了域名连接,域名可能指向了错误的服务器ip
5、客户端访问的ip是服务器内网ip,并且客户端和服务端不在一个局域网
其它报错
如果发生的报错不是connection refuse 和 connect
ion timeout则一般是以下原因:
1、客户端使用的通讯协议与服务端不一致。
例如服务端是http通讯协议,客户端使用websocket通讯协议访问是无法连接的。如果客户端用websocket协议连接,那么服务端必须也是websocket协议。如果服务端是http协议的服务,那么客户端必须用http协议访问。
这里的原理类似如果你要和英国人交流,那么要使用英语。如果要和日本人交流,那么要使用日语。这里的语言就类似通讯协议,双方(客户端和服务端)必须使用相同的语言才能交流,否则无法通讯。
通讯协议不一致导致的常见的报错有:
WebSocket connection to 'ws://xxx.com:xx/' failed: Error during WebSocket handshake: Unexpected response code: xxx WebSocket connection to 'ws://xxx.com:xx/' failed: Error during WebSocket handshake: net::ERR_INVALID_HTTP_RESPONSE
解决办法:
从上面两条报错看出,客户端使用的是ws连接是websocket协议。服务端也需要是websocket协议才行,服务端监听部分代码需要指定websocket协议才能通讯,例如下面这样
如果是gatewayWorker,监听部分代码类似
// websocket协议,这样客户端才能用ws://...来连。xxxx为端口不用改动
$gateway = new Gateway('websocket://0.0.0.0:xxxx');如果是Workerman则是
// websocket协议,这样客户端才能用ws://...来连。xxxx为端口不用改动
$worker = new Worker('websocket://0.0.0.0:xxxx');推荐:workerman教程
# workerman
# 客户端
# 服务端
# 报错
# 通讯协议
# 错了
# 使用了
# 要使
# 内网
# 的是
# 会有
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】
悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤
如何用低价快速搭建高质量网站?
bootstrap日历插件datetimepicker使用方法
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
Python自动化办公教程_ExcelWordPDF批量处理案例
Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
JavaScript中的标签模板是什么_它如何扩展字符串功能
Laravel集合Collection怎么用_Laravel集合常用函数详解
Laravel如何发送系统通知?(Notification渠道示例)
Laravel如何生成API文档?(Swagger/OpenAPI教程)
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
Laravel如何处理和验证JSON类型的数据库字段
如何快速搭建支持数据库操作的智能建站平台?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
在线制作视频的网站有哪些,电脑如何制作视频短片?
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
如何注册花生壳免费域名并搭建个人网站?
如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程
PHP 500报错的快速解决方法
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
Laravel如何使用模型观察者?(Observer代码示例)
Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制
Laravel如何使用Passport实现OAuth2?(完整配置步骤)
WEB开发之注册页面验证码倒计时代码的实现
如何在万网自助建站平台快速创建网站?
Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复
Laravel如何升级到最新版本?(升级指南和步骤)
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
如何用PHP快速搭建CMS系统?
Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南
Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
电商网站制作价格怎么算,网上拍卖流程以及规则?
活动邀请函制作网站有哪些,活动邀请函文案?
laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法
js实现点击每个li节点,都弹出其文本值及修改
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
独立制作一个网站多少钱,建立网站需要花多少钱?
Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】
大连 网站制作,大连天途有线官网?
JS去除重复并统计数量的实现方法
Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层
如何选择PHP开源工具快速搭建网站?
Windows Hello人脸识别突然无法使用
如何在IIS中新建站点并配置端口与IP地址?

