gpt4 book ai didi

go - RPC 响应不正确

转载 作者:行者123 更新时间:2023-12-04 15:04:24 25 4
gpt4 key购买 nike

我正在尝试使用一个远程过程,它将在一个结构中设置一个回复,一个 bool 状态和一个字符串作为下一个输入。在此过程中,我将 bool 状态设置为 true 并将一个值放入输入中。但是在客户端中,它得到一个错误的状态和空字符串。在过程中:

func(c *Coordinator)MapJob(req mr.MapRequest, reply *mr.MapResponse) error {
//logic to set up response...
reply = &mr.MapResponse{
Status: newStatus,
Input: newIn,
}
fmt.Printf("[REPLY] %+v\n", reply)

return nil
}

打印[REPLY] &{Status:true Input:1.txt}

在客户端中:

err := client.Call("Coordinator.MapJob", req, &reply)
fmt.Printf("reply from procedure %+v\n", reply)

打印:来自过程{Status:false Input:}的回复

我在这里错过了什么?我把整个代码放在 https://github.com/Brotchu/ProjectMR 里了该过程在协调器中定义,客户端在工作人员中定义。可能太多了,无法全部粘贴到这里。

最佳答案

客户端结构看起来只由零值(false 和空字符串)组成。

我认为 client.Call 调用不会改变回复。我认为这是因为 MapJob 也不会改变回复。

reply = &mr.MapResponse{
Status: newStatus,
Input: newIn,
}

应该是

reply.Status = newStatus
reply.Input = newIn

关于go - RPC 响应不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66435590/

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