connection - 读取直到服务器关闭连接

标签 connection go

我正在尝试从服务器读取一个 JSON 编码的字节,该字节将被缩进,但长度不可预测,并且没有明显的终止字节。我想将整个 服务器响应读入一个字节。服务器将关闭连接。是否可以使用 net 执行此操作?

最佳答案

作为@minikomi 回答的补充,我想补充一点,如果您确定从服务器返回的字节是 JSON 编码的,那么有一个很好的包 encoding/json 用于这个。

http://golang.org/pkg/encoding/json/

如果您使用解码器直接从连接解码,有时不会返回错误。您可能想使用 fmt.Printf("%v\n", whateverDecodedFromTheConnection) 查看连接关闭时解码器为您的结构获取的内容。

例如,在我的例子中,encoding/gob 解码器用于将来自 tcp 连接的消息解码为定义为的结构:

type MessageType struct {
    Type uint8
}

当连接关闭时,decoder.Decode(&buffer) 返回 {0}。这可能不是常见情况,但需要注意一些事情。

关于connection - 读取直到服务器关闭连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13186746/

相关文章:

database - 函数之间的共享连接

python - 套接字编程问题 - Python

go - 无法初始化嵌入式结构

performance - 当函数参数是接口(interface)时复制什么

java - 已建立连接但没有互联网的 UnknownHostException 超时

android - 在 iOS 中查找移动连接类型

Excel - 如何连接到另一个 Excel 文件?

条件代码的 Go 编译器标志

SSH 连接超时

递归链接对象的算法