gpt4 book ai didi

object - golang 发送和接收对象

转载 作者:数据小太阳 更新时间:2023-10-29 03:37:19 26 4
gpt4 key购买 nike

我可以使用以下代码在 golang 中发送和接收字符串:

//send side
message.Buf.WriteTo(conn)

//receive side
message, err := bufio.NewReader(conn).ReadString('\n')
if err != nil {
panic(err)
}
fmt.Print("Message from client: ", string(message))

但是,我想发送整个消息对象并在接收端接收它

类似于:

//send side
message.WriteTo(conn)

//receive side
message,err :=bufio.NewReader(conn).ReadMessageObject()

我是 Golang 的新手,任何建议都非常有帮助。

最佳答案

您首先要为您的消息声明一个类型。像这样的东西:

type Message struct {
From string
To string
Text string
CreatedAt time.Time
}

然后您需要决定如何将新类型编码为字节/从字节解码,因为您可以通过线路发送的都是字节。例如,您可以将消息发送为 json , 作为 xml ,或作为 gob等等。您选择哪个取决于您的要求,json 无处不在且可读,但另一方面 gob 速度要快得多,至少我是这么听说的,我自己还没有真正使用过 gob

例如,如果您使用 json

// receive
var m Message
if _, err := json.NewDecoder(conn).Decode(&m); err != nil {
panic(err)
}

// send
if err := json.NewEncoder(conn).Encode(m); err != nil {
panic(err)
}

关于object - golang 发送和接收对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43710406/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com