初识websocket踩到的坑

因为第一次在linux上操作websocket,遇到不少坑,在这里记录下。

在网上找了不少资料,以下内容参考

https://blog.csdn.net/wangjinbao5566/article/details/73202268

http://wenda.workerman.net/?/question/2288

首先我的服务器是阿里云的

一、开放端口
安全组、防火墙
二、服务器端
指定地址ip或地址,ip不是公网ip而是服务器ip,可使用ifconfig查询。
可使用0.0.0.0表示监听本机所有ip。
三、错误处理
服务器端
1.address already in use  端口被占用    关闭占用端口程序或更改socket端口
2.cannot assign requested address  启动脚本ip错误,不是本机ip     填写本机ip、域名或者0.0.0.0
3.Waring stream_socket_server has been disabled for security reasons in   stream_socket_server函数被禁用    打开php.ini,找到disable_functions,将stream_socket_server禁用项删除
4.PHP Warning:  stream_socket_server(): unable to connect to tcp://0.0.0.0:xxx (Permission denied)   linux下监听端口小于1024,需要root权限     使用大于1024的端口或使用root用户启动服务
客户端
1.connection refuse   连接拒绝
a.端口错误
b.域名或ip错误
c.使用域名连接,但域名指向了错误的ip
d.服务端没有启动或没有监听端口
e.使用了网络代理软件
2.connection timeout   连接超时
a.服务器防火墙阻止连接
b.如果是云服务器,安全组没配置
c.服务器不存在或没有启动
d.使用错误域名或ip,域名指向了错误的ip
e.客户端访问的ip是服务器内网ip,并且服务器和客户端不在一个局域网
3.其他报错
a.客户端与服务端使用不一样的协议
通讯协议不一致导致的常见的报错有:
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

你可能感兴趣的:(websocket)