建议抓下包看看具体发生了什么,大概率是服务器网络问题,看上去是协商没有完成
另外吐槽下:websocket本身就是为跨域设计存在的,不存在跨域问题,随便连接
服务器网络问题是指什么呢? 服务器上有部署其他项目,访问都没有问题
@8173:诡异的是你暴露了公网信息 我去尝试连接并发送了消息 发现是能够连接和使用的 你检查下你的客户端是不是网络有问题吧
@8059: 谢谢你的回复, 这个IP暴露没关系,这个小服务器不重要, 昨天发现PHP没装pcntl扩展, 今天装上,环境都没问题了, 但是还是报原来的错, 前端websocket没有触发onopen, 后端已经可以打印到请求,但没有握手成功.
我查看了apache日志,workerman日志,和项目日志,都没有任何报错, 所以不知道如何排错
workerman debug 方式运行,看下是不是有报错
试了,没有报错; 我看了手册中的环境章节, 说PHP需要pcntl和posix扩展; 发现服务器上没有pcntl
我看了手册中的环境要求章节, 说PHP需要pcntl和posix扩展; 发现服务器上没有pcntl, 然后进行安装. 我的linux服务器是centos系统, yum和dnf库中都没有pcntl 所以我用源码编译安装 安装的过程中,不能使用phpize命令, 然后安装PHP对应版本的php-devel; 安装成功了,执行phpize命令,结果永远报这个错误:
Can't find PHP headers in /usr/include/php The php-devel package is required for use of this command.
phpize默认安装在 /usr/bin/phpize 我指定到这个bin目录运行也报上面的错误.
下面图片是安装php-devel成功截图
问题已经解决了, phpize命令执行不了,是因为环境变量的关系, 系统中还有一个phpize,在当前php版本的目录下,用这个路径执行就OK了, 然后./configure又报错了,也是路径不对.扩展全部装好, 还是无法握手, 至于是哪一环解决的, 我也说不上来 (我用命令开了另一个端口, 防火墙又开又关闭, 接着80端口和443端口失效了, 其他网站都不能访问, 我又把这两个端口加进去, 最后再回过头测websocket,居然握手成功了)
后端代码呢?
已经解决了, 至于是哪一环解决的, 我也说不上来
建议抓下包看看具体发生了什么,大概率是服务器网络问题,看上去是协商没有完成
另外吐槽下:websocket本身就是为跨域设计存在的,不存在跨域问题,随便连接
服务器网络问题是指什么呢? 服务器上有部署其他项目,访问都没有问题
@8173:诡异的是你暴露了公网信息 我去尝试连接并发送了消息 发现是能够连接和使用的 你检查下你的客户端是不是网络有问题吧
@8059: 谢谢你的回复, 这个IP暴露没关系,这个小服务器不重要, 昨天发现PHP没装pcntl扩展, 今天装上,环境都没问题了, 但是还是报原来的错, 前端websocket没有触发onopen, 后端已经可以打印到请求,但没有握手成功.
我查看了apache日志,workerman日志,和项目日志,都没有任何报错, 所以不知道如何排错
workerman debug 方式运行,看下是不是有报错
试了,没有报错; 我看了手册中的环境章节, 说PHP需要pcntl和posix扩展; 发现服务器上没有pcntl
我看了手册中的环境要求章节, 说PHP需要pcntl和posix扩展; 发现服务器上没有pcntl, 然后进行安装.
我的linux服务器是centos系统, yum和dnf库中都没有pcntl 所以我用源码编译安装
安装的过程中,不能使用phpize命令, 然后安装PHP对应版本的php-devel; 安装成功了,执行phpize命令,结果永远报这个错误:
Can't find PHP headers in /usr/include/php
The php-devel package is required for use of this command.
phpize默认安装在 /usr/bin/phpize
我指定到这个bin目录运行也报上面的错误.
下面图片是安装php-devel成功截图
问题已经解决了, phpize命令执行不了,是因为环境变量的关系, 系统中还有一个phpize,在当前php版本的目录下,用这个路径执行就OK了, 然后./configure又报错了,也是路径不对.扩展全部装好, 还是无法握手, 至于是哪一环解决的, 我也说不上来 (我用命令开了另一个端口, 防火墙又开又关闭, 接着80端口和443端口失效了, 其他网站都不能访问, 我又把这两个端口加进去, 最后再回过头测websocket,居然握手成功了)
后端代码呢?
已经解决了, 至于是哪一环解决的, 我也说不上来