websocket连接失败

websocket连接失败

@(markdown)

最近项目里调试websocket相关的nodejs实现的server,刚接触web开发的小伙伴们对websocket协议不熟悉,遇到问题很容易悲剧。这里只说自己理解的部分以及解决问题的经验吧。

首先,nodeserver用的socketio,于是写了个页面,用js发起websocket握手,发现一直是longpoll,猜测webserver不支持websocket协议,一查果然,haproxy设置的http反向代理。抛弃haproxy,握手成功,浏览器申请将协议upgrade到websocket,web服务器同意,后续数据通过frame传输。解决,证明nodeserver没有什么问题。

第二次,客户端为cocosdx实现的websocket协议,连接nodeserver的时候,直接发生握手失败,不能用chrome开发工具,于是用tcpdump抓包,发现nodeserver抓到的http协议中未出现upgrade字样,猜测前面有不支持websocket协议的webserver拦截到,一问果然,前面有loadbalance,估计普通运维也不会考虑websocket协议,直接让改成tcp代理,更改后搞定。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-19 01:00:52

websocket连接失败的相关文章

微信应用号小程序WebSocket连接wx.connectSocket(OBJECT)

微信应用号小程序Socket连接wx.connectSocket(OBJECT) wx.connectSocket(OBJECT) ? 创建一个 WebSocket 连接:一个微信小程序同时只能有一个WebSocket连接,如果当前已存在一个WebSocket连接,会自动关闭该连接,并重新创建一个WebSocket连接. OBJECT参数说明: 参数 类型 必填 说明 url String 是 开发者服务器接口地址,必须是HTTPS协议,且域名必须是后台配置的合法域名 data Object 否

学习html5的WebSocket连接

1.什么是WebSocket WebSocket 是一种自然的全双工.双向.单套接字连接.使用WebSocket,你的HTTP 请求变成打开WebSocket 连接(WebSocket 或者WebSocket over TLS(TransportLayer Security,传输层安全性,原称“SSL”))的单一请求,并且重用从客户端到服务器以及服务器到客户端的同一连接.WebSocket 减少了延迟,因为一旦建立起WebSocket 连接,服务器可以在消息可用时发送它们.例如,和轮询不同,We

Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败 及sql2008外围服务器

转载:Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败 错误原因如下: Exception in thread "main" org.hibernate.exception.JDBCConnectionException: Cannot open connection at org.hibernate.exception.SQLStateConverter.convert(SQLStateConver

Java JDBC连接SQL Server2005错误:通过port 1433 连接到主机 localhost 的 TCP/IP 连接失败

错误原因例如以下: Exception in thread "main" org.hibernate.exception.JDBCConnectionException: Cannot open connection at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:99) at org.hibernate.exception.JDBCExceptionHelper.convert(J

com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect

问题描述:最简单的数据库连接报错,到主机  的 TCP/IP 连接失败.(win 7 操作系统) 错误信息: com.microsoft.sqlserver.jdbc.SQLServerException: 到主机  的 TCP/IP 连接失败. java.net.ConnectException: Connection refused: connect package sqlconnect; import java.sql.*; public class sqlconnect { public

【BUG & PROBLEM】mysql远程连接失败

问题描述 今天在云主机上用mysql客户端连接远程数据库,提示连接失败.提示 Host "62.183.38.xx" is not allow to connect the mysql server. Host 是我外网的IP.关闭云主机防火墙和启动mysql服务都无效. 解决方案 之后查了相关网友的资料后,找到原因,是由于mysql默认没有开启远程连接的权限.因此在mysql命令行中开启权限,问题解决! mysql > GRANT ALL PRIVILEGES ON *.* T

mysql客户端授权后连接失败问题

在本地(192.168.1.152)部署好mysql环境,授权远程客户机192.168.1.%连接本机的mysql,在iptables防火墙也已开通3306端口.如下:mysql> select host,user,password from mysql.user;+--------------+-----------------+---------------------------------------------------------+| host              | use

Mac 连接失败,因为 PPP 设置不正确 Mac OS 无密钥方式连接L2TP协议的VPN

实践是检验真理的唯一标准.起先直接照搬命令行结果出错,提示"连接失败,因为ppp设置不正确"怀疑方法不对.Google了国外的文章,结果都是一样的.后来手工打字进去就对了,妈蛋.蛋疼的事情是必须打字 终端命令如下: sudo vi /etc/ppp/options 输入: plugin L2TP.pppl2tpnoipsec 保存退出.在高级中选择通过VPN发送全部流量.

Firefox提示“安全连接失败,您收到了一个无效的证书”的解决方法

当你看到这篇文章的时候,我已经坐上轻轨准备前往某个地方游玩去了,这篇文章实际上是我昨天写好然后用wordpress的定时发布功能发布的,实际上这里大部分文章都是我事先写好然后定时发布的,特别是这个月希望能够保持每天更新一篇文章的频率,一有想法就会赶快记录下来,害怕忘记什么. 在Firefox上搭配AutoProxy/FoxyProxy和goagent穿越的时候需要导入证书,不过我在导入证书后浏览某个网站会有以下提示:(AutoProxy/FoxyProxy对该网站启用) 安全连接失败 连接 XX