go - 在 Golang 中,为什么 conn.Write tcp 响应为空?

标签 go tcp

我有一个读取文件的 tcp 服务器,该文件将文件内容发送到客户端。

“status.txt”文件仅包含一个 bool 值。

当我 curl 时,这显示 true(带有前导空格)。

dat, err := ioutil.ReadFile("./status.txt")
conn.Write([]byte(" " + string(dat)))

而此代码导致 curl: (52) Empty reply from server

conn.Write([]byte(string(dat)))

知道为什么会这样吗?我不想填充我的响应字符串。

最佳答案

如果您不使用 HTTP 协议(protocol),请不要使用 Curl。 Curl 期待与 HTTP 协议(protocol)兼容的特定格式的消息。 如果您发送文本“true”,那肯定是无效的 HTTP header 。

要测试 TCP 服务器,请改用 Netcat:

nc localhost port

关于go - 在 Golang 中,为什么 conn.Write tcp 响应为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45519075/

相关文章:

go - Go 中的相对导入

mongodb - 查询期间文档的MongoDB求和字段

java - 实现前缀模式

TCP 发送不返回导致进程崩溃

.net - IIS 7.0 使用 netTcpBinding

go - Redigo ScanStruct 错误与 time.Time

templates - Golang索引模板包括

go - 如何使用 gin 包将类型 *http Cookies 转换为字符串

TCP 与 UDP - 什么是 TCP 连接?

iphone - iPhone 中行 Tcp/Ip 的 SSL 客户端