node.js - 使用 nodejs 客户端访问 golang websocket 服务器

标签 node.js websocket go

我是 NodeJS 的新手。假设我有一个使用 Golang 的 websocket 包实现的回显服务器:

package main

import (
    "code.google.com/p/go.net/websocket"
    "log"
    "net/http"
)

func EchoServer(ws *websocket.Conn) {
    var msg string
    websocket.Message.Receive(ws, &msg)
    log.Printf("Message Got: %s\n", msg)
    websocket.Message.Send(ws, msg)
}

func main() {
    http.Handle("/echo", websocket.Handler(EchoServer))
    err := http.ListenAndServe(":8082", nil)
    if err != nil {
        panic(err.Error())
    }
}

nodejs 客户端代码应该是什么样的?

最佳答案

作为 WebSocket-Node 库的作者,我可以向您保证,您无需为了不使用子协议(protocol)而修改 WebSocket-Node 库代码。

上面的示例代码错误地显示了为 connect() 函数的子协议(protocol)参数传递了一个空字符串。如果您选择不使用子协议(protocol),您应该将 JavaScript 的 null 值作为第二个参数传递,或者传递一个空数组(该库能够按照需求降序向远程服务器建议多个支持的子协议(protocol)),但不能传递一个空数组字符串。

关于node.js - 使用 nodejs 客户端访问 golang websocket 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14933235/

相关文章:

node.js - 如何正确重启nodemon服务器

node.js - 如何使用 next.js 构建博客?

javascript - 在设置 RxJs 订阅后,是否有一种干净的方法可以立即执行函数?

node.js - WebSocket通过Amazon ELB或直接通过WebSocket(远程IP问题)

go - 如何从函数返回 slice 的更改值?

go - 如何使用gocql动态添加查询参数?

node.js - Mongoose findOneAndUpdate 更新多个字段

node.js - AWS Lambda Mongodb 错误 : topology was destroyed

Python heroku 为socket.io 聊天应用程序配置procfile Gunicorn + gevent |运行时错误: You need to use the gevent-websocket server

json - 我可以使用结构向接口(interface)添加字段吗?