CNode

websocket 连接 socket.io问题

5514366607发布于12 年前最后回复10 年前10 回复58424 浏览0 收藏

客户端: var url = "ws://localhost:8088"; w = new WebSocket( url ); //事件监听 w.onopen = function() { console.log("open"); } w.onclose = function(e) { console.log( "closed" ); }

服务端: var socket = require( 'socket.io' ); var io = socket.listen( 8088 ); io.set('log level', 1); io.sockets.on('connection', function ( socket ) { console.log( socket ); });

WebSocket connection to 'ws://localhost:8088/' failed: Connection closed before receiving a handshake response 为什么在握手前就断开连接了?

查看回复

回复 (10)

5
514366607#1·12 年前

@suqian 求帮助。

L
lcoder#2·10 年前

不好意思,挖坟啦。

我也自己写原生客户端的websocket,也是同样的报错,lz怎么解决的?

H
hzxuzhonghu#3·10 年前

socket.io socket.io-client版本还得对应,最好完全匹配

N
nieweidong#4·10 年前

请问这个问题最终解决了么。 我这也是客户端用的WebSocket,服务端用的Socket.IO,想知道咋串起来。

Y
yakczh#5·10 年前

牛头不对马嘴

5
514366607#6·12 年前

是socket.io不走WS协议?

W
whatsmynick#7·12 年前

用socket.io-client. websocket只是socket.io实现业务封装的一个浏览器方面的backend, 类比的话, websocket是tcp, 而socket.io是http, 后者固然基于前者, 但是你也必须按照socket.io约定的protocol走.

P
piginzoo#8·12 年前

@ 514366607 你搞定了么?如何解决的,我也遇到这个问题了

在客户端如果用Socketio方式就可以,换成html5的websocket方式就死活不行,崩溃ing...

D
DestinyInHand#10·10 年前
引用 nieweidong请问这个问题最终解决了么。 我这也是客户端用的WebSocket,服务端用的Socket.IO,想知道咋串起来。

@nieweidong 你在客户端用socket.io提供的客户端库来实现websocket通信就可以了,socket.io是基于websocket协议封装后的,所以你要跟socket.io连接,要么自己客户端封装成符合socket.io的通信格式,要么使用socket.io客户端库.

参与回复
登录后即可参与回复。登录