我正在尝试使用socket.io-client连接一个用Go编写的websocket服务器。我已经成功使用node 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}"
)
很容易理解并且它有效--另一端的套接字以设定的频率发送消息。但我最初尝试使用socket.io-client
(npm),但无论如何都无法让它正常工作。虽然它将websocket列为首选传输方式,但该死的我就是无法连接:
socket = ioClient.connect("#{url}", {port: goSocketPort, transports: ['xhr-polling', 'websocket']})
socket.on("connect", (r) ->
log "connected to #{url}"
)
连接从未发生,因此没有任何on
事件被触发,代码立即退出。我尝试了:在URL中省略端口并在选项中添加它,在选项中省略传输选项(根据文档意味着“全部”)并使用http URL。 socket-io.client
无法连接到“标准”websocket吗?