尝试使用socket.io-client连接到用Go编写的websocket服务器.我已经使用节点WebSocket库(npm)成功连接.所以工作的Websocket代码如下所示:
goSocketPort = 6060
url = "ws://localhost:#{goSocketPort}/streamresults/"
ws = new WebSocket(url)
ws.on('open', ->
log "socket opened"
)
ws.on('message', (message) ->
console.log('received: %s', message)
#log "Socket message: #{JSON.stringify message}"
)
Run Code Online (Sandbox Code Playgroud)
非常简单且有效 - 另一端的套接字以固定频率发送消息.但我最初尝试socket.io-client(npm)并且无法让它去.它肯定会将websocket列为首选的传输方式,但该死的如果我可以连接它:
socket = ioClient.connect("#{url}", {port: goSocketPort, transports: ['xhr-polling', 'websocket']})
socket.on("connect", (r) ->
log "connected to #{url}"
)
Run Code Online (Sandbox Code Playgroud)
连接永远不会发生,因此没有任何on事件被触发,代码立即退出.我已经尝试过:将端口从网址中删除并将其添加到选项中,不使用传输选项(根据文档意味着"全部")并使用http网址.是socket-io.client不是能够连接到一个"标准"的WebSocket的?