Beego 是一个优秀的Golang开源web框架. Yar 是一个轻量级RPC框架. 将yar移植到beego
###Server
package main
import (
"beego-yar"
"github.com/astaxie/beego"
)
type RpcController struct {
beego.Controller
}
type RpcData struct {
}
func (self *RpcData)Test(d int) int {
return d+1
}
func (c *RpcController) Post() {
server := beego_yar.NewServer(c.Ctx,&RpcData{})
server.Register("test","Test")
server.Handle()
}
func main() {
beego.Router("/rpc", &controllers.RpcController{})
beego.Run()
}
###Client
package main
import (
"beego-yar"
"fmt"
)
func main(){
client := beego_yar.NewClient("http","http://127.0.0.1:8080/rpc")
var ret int
client.Call("test",&ret,1)
fmt.Printf("%d\n",ret)
}