草庐IT

NewReader

全部标签

networking - 使用 bufio.NewReader(conn) 阅读整条消息

我正在使用golang开发一个简单的聊天服务器和客户端。我在读取来自net.Conn的消息时遇到了一些问题。到目前为止,这就是我一直在做的:bufio.NewReader(conn).ReadString('\n')由于用户按回车键发送消息,我只需要读到'\n'。但我现在正在研究加密,当在客户端和服务器之间发送公钥时,key有时包含“\n”,这使得很难获得整个key。我只是想知道如何阅读整条消息而不是停在特定字符处。谢谢! 最佳答案 发送二进制数据的一个简单选项是使用长度前缀。将数据大小编码为32位大端整数,然后读取该数据量。//c

go - bufio.NewReader 总是创建一个新行 :/

我用它来收集输入并显示输入,但是当我这样做时,“something”文本将显示在新行中,但我希望文本显示在同一行中,有什么想法吗?funcmain(){fmt.Println("Example")print("example:")in:=bufio.NewReader(os.Stdin);input,err:=in.ReadString('\n');iferr!=nil{fmt.Println("Error:",err)}fmt.Println(input,"something")} 最佳答案 从input中删除换行符。例如,pac
12