大佬教程收集整理的这篇文章主要介绍了golang jsonrpc,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
package main import ( "github.com/streadway/amqp" "log" "net" "net/rpc" "net/rpc/jsonrpc" "os" "time" ) type MPMsg struct { } func (mpMsg *MPMsg) Handle(args *map[String]interface{},reply *map[String]interface{}) error { *reply = map[String]interface{}{} return nil } func main() { lf,_ := os.OpenFile("/var/log/"+time.Now().Format("2006-01-02T15:04:05")+".log",os.O_APPEND|os.O_CREATE|os.O_RDWR,0666) defer lf.Close() log.SetOutput(lf) mpMsg := new(MPMsg) rpc.Register(mpMsg) addr,_ := net.ResolveTCpaddr("tcp",":135") ln,e := net.ListenTCP("tcp",addr) if e != nil { panic(E) } for { conn,e := ln.Accept() if e != nil { conTinue } go jsonrpc.ServeConn(conn) } }
// RPC calls. rpcClient,e := jsonrpc.Dial("tcp","2d1c07f4-8d2d-11e5-bf81-54ee755d5aba:135") if e != nil { log.Println("Error dail rpc server:",E) http.Error(w,e.Error(),http.StatusInternalServerError) return } var reply map[String]interface{} e = rpcClient.Call("MPMsg.Handle",msg,&reply) if e != nil { log.Println("Error call rpc method:",http.StatusInternalServerError) return }
以上是大佬教程为你收集整理的golang jsonrpc全部内容,希望文章能够帮你解决golang jsonrpc所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。