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

在Golang中,为什么conn.Write tcp响应为空?,go,tcp,Go,Tcp,我有一个tcp服务器,它读取一个将文件内容发送到客户端的文件 “status.txt”文件仅包含布尔值 当我卷曲时,前导空间为true dat, err := ioutil.ReadFile("./status.txt") conn.Write([]byte(" " + string(dat))) 然而,这段代码导致来自服务器的curl:52空回复 你知道为什么会这样吗?我不想填充响应字符串。如果不使用HTTP协议,请不要使用Curl。Curl期望消息的某种格式与HTTP协议兼容。 如果发送的

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

“status.txt”文件仅包含布尔值

当我卷曲时,前导空间为true

dat, err := ioutil.ReadFile("./status.txt")
conn.Write([]byte(" " + string(dat)))
然而,这段代码导致来自服务器的curl:52空回复


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

如果不使用HTTP协议,请不要使用Curl。Curl期望消息的某种格式与HTTP协议兼容。 如果发送的文本为true,则肯定不是有效的HTTP头

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

nc localhost port

ioutil.ReadFile返回字节片。所以只需按conn.Writedat的原样写入或不使用pad conn.write[]字节+stringdat进行写入即可。@jeevatkm我两种方法都试过了。我相信第一个是空的。第二个返回%。如果协议不是HTTP,为什么要使用curl?。使用Netcat nc本地主机端口,它将正常工作。@RadekZałuska-Doh!成功了。请写下答案,我会接受的。谢谢。
nc localhost port