*** 本来增删改查写的好好的,领导突然来一个聊天项目,客户又想省钱,不想用第三方,没办法,只能自己做一个,但是作为一个小白,这算是一个新领域了,聊天的大门都还没进,就差点死在了门口。。。。***
---------------------------------华丽的分割线---------------------------------
我的项目用的功能有群聊和私聊,介于不需定制化功能,我选择了GatewayWorker
1,官网下载:https://www.workerman.net/download/GatewayWorker.zip(框架)
2,手册: http://doc2.workerman.net/
报错解决
------------------------------------问题与解析-----------------------------------
为了方便测试,我将框架放在了自己的服务器(为了方便测试)
服务器环境:php7.3 sentos7 mysql5.8
下边进入正题:
1,启动显示Warning: stream_socket_client() … has…之类的
(就是在启动start.php之后,哗哗哗闪过很多的代码,不停的那种,你可以中断之后,再运行,然后瞬间点住滚动条,他就不闪了,你看看异常报错的第一行显示这个的stream_socket_client,那就是php配置安全过滤项的问题)
解决方法:找到你的php.ini搜索stream_socket…删掉他,保存退出,然后重启php-fpm 就好了
然后马上就遇到另一个问题
这里推荐一个在线测试工具:http://www.easyswoole.com/wstool.html
F12可以看见服务端报错,下边的报错信息就是在控制台看的
2,failed: Error in connection establishment: net::ERR_CONNECTION_TIMED_OUT
解决:看字面意思就知道了,防火墙的问题
1: 我用的是自己的阿里云服务器,在出入网规则直接添加了1/65535(开放所有端口的意思)。
2:还是不行,我又把sentos的防火墙关掉(一般这个时候就能用了),但是我的还是不行,别急,先点一杯瑞幸。。。。。找呀找。。。。。从中午排查问题到晚上,终于找到了。《缓存问题》,解决方法是取消锁定防火墙->打开防火墙->关闭防火墙->OK !!!.
3:还不行就换个浏览器试试
4:换浏览器还不行,看是不是浏览器代理设置问题,比如开了vpn啥的
3,我是用websocket协议进行开发的,所以我需要把start_gateway里的 new Gateway换成下边
最后->连接成功!
贴图!
客户端:
服务器端:
如果服务器端没有出现三个文件的,不用说,那就是没有启动成功,要不就是报错了,要不就是防火墙问题,可以选择开放防火墙端口,或者关闭防火墙
吐槽
为什么说百度找报错是六流程序员的方法呢,以前我还不这么觉得,我觉得中国程序员之多,用本土化的问答平台挺好的,但是今天才发现,同样的答案,只要有一个是对的,基本其他的帖子都是抄的,一点用都没有。我也是醉了,虽然我也比六流好不到哪里去
状态
持续更新->会涉及数据库操作,ssl配置,redis等
dateTime
2020:08:11