所以我有一个从 TCP 连接读取值的函数。我想阅读该行直到出现分隔符 '\b\r'。到目前为止我有func func1(someconnection net.Conn) string { c := bufio.NewReader(someconnection) buff1 := make([]byte, predefinedsizeofmessage) buff1, err := c.ReadBytes(byte('\r')) if err != nil { fmt.Printf("Connection closed") } message:= strings.Trim(string(buff1), delimiter) if len(message) == predefinedsizeofmessage { fmt.Printf("The message is in the wrong format") } fmt.Printf("The messageis: %s\n", message) return message}如果我在分隔符前读到 \r ,这显然是有问题的。我看过使用扫描仪的示例,但由于某种原因,客户端在使用时会调用超时。也许,我没有正确地实施扫描仪。
1 回答
牧羊人nacy
TA贡献1862条经验 获得超7个赞
仅支持单bufio.Reader
字节分隔符,您应该使用bufio.Scanner
带有自定义拆分功能的工具来拆分多字节分隔符。
也许是https://stackoverflow.com/a/37531472/1205448的修改版本
- 1 回答
- 0 关注
- 100 浏览
添加回答
举报
0/150
提交
取消