如何在GoLang的CoAP中为服务器编写服务端点PUT请求方法?
我试图在GoLang为CoAP服务编写客户端和服务器。我曾经 我成功调用POST端点,但无法调用PUT。 以下是我的问题如何在GoLang的CoAP中为服务器编写服务端点PUT请求方法?,go,udp,udpclient,coap,Go,Udp,Udpclient,Coap,我试图在GoLang为CoAP服务编写客户端和服务器。我曾经 我成功调用POST端点,但无法调用PUT。 以下是我的问题 当我调用POST端点时,我的Go客户机说超时。但服务器收到了请求。如何增加客户端超时 我尝试的代码: 客户端代码: req := coap.Message{ Type: coap.Confirmable, Code: coap.POST, MessageID: 12345, Payload: []byte(`Hello Co
req := coap.Message{
Type: coap.Confirmable,
Code: coap.POST,
MessageID: 12345,
Payload: []byte(`Hello CoAP Server `),
}
path := "/App"
if len(os.Args) > 1 {
path = os.Args[1]
}
req.SetOption(coap.ETag, "weetag")
req.SetPathString(path)
c, err := coap.Dial("udp", "localhost:5683")
rv, err := c.Send(req)
req := coap.Message{
Type: coap.Confirmable,
Code: coap.PUT,
MessageID: 12345,
Payload: []byte(`Hello CoAP Server `),
}
path := "/App/fb" //here fb is app id and this can be anything
if len(os.Args) > 1 {
path = os.Args[1]
}
req.SetOption(coap.ETag, "weetag")
req.SetPathString(path)
c, err := coap.Dial("udp", "localhost:5683")
rv, err := c.Send(req)
req := coap.Message{
Type: coap.Confirmable,
Code: coap.POST,
MessageID: 12345,
Payload: []byte(`Hello CoAP Server `),
}
path := "/App"
if len(os.Args) > 1 {
path = os.Args[1]
}
req.SetOption(coap.ETag, "weetag")
req.SetPathString(path)
c, err := coap.Dial("udp", "localhost:5683")
rv, err := c.Send(req)
req := coap.Message{
Type: coap.Confirmable,
Code: coap.PUT,
MessageID: 12345,
Payload: []byte(`Hello CoAP Server `),
}
path := "/App/fb" //here fb is app id and this can be anything
if len(os.Args) > 1 {
path = os.Args[1]
}
req.SetOption(coap.ETag, "weetag")
req.SetPathString(path)
c, err := coap.Dial("udp", "localhost:5683")
rv, err := c.Send(req)
POST和PUT请求的服务器代码:
mux := coap.NewServeMux()
// TODO-later: use UDP/coap
mux.Handle("/App", coap.FuncHandler(Register))
mux.Handle("/App/{AppID}", coap.FuncHandler(UpdateApp))
err := coap.ListenAndServe("udp", ":5683", mux)
以下是通过PUT请求更新应用程序的服务器代码。在这里,我不知道如何将端点指定为放入CoAP中。有人能建议我如何创建这个端点mux.Handle(“/App/{AppID}”),coap.FuncHandler(UpdateApp))
或者让我知道是否有更好的CoAP Go服务Go库?根据此示例: 看起来go coap处理程序仅由URI绑定。 我想你得自己处理不同类型的请求 必须生成包含无法识别或不支持的方法代码的请求 4.05(不允许使用方法)附带响应 发件人:
不幸的是,我没有学会围棋,也从来没有用过围棋,所以不能显示一个片段。尽管我认为这很容易:您只需要使用相同的MID和令牌以NON-4.05进行响应。根据此示例: 看起来go coap处理程序仅由URI绑定。 我想你得自己处理不同类型的请求 必须生成包含无法识别或不支持的方法代码的请求 4.05(不允许使用方法)附带响应 发件人: 不幸的是,我没有学会围棋,也从来没有用过围棋,所以不能显示一个片段。尽管我认为这很容易:你只需要用相同的MID和标记用非4.05来回应。为什么这个标记为“CocoaPods”?为什么这个标记为“CocoaPods”?