Ai
1 Star 1 Fork 0

rocket049/rpc2d

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
server.go 819 Bytes
一键复制 编辑 原始数据 按行查看 历史
package main
import (
"fmt"
"log"
"net"
"gitee.com/rocket049/rpc2d"
)
type Server rpc2d.ProviderType
var count = 0
func (self *Server) Show(arg string, reply *int) error {
fmt.Printf("Recv: %s, count: %d\n", arg, count)
*reply = count
count++
var ret int
self.Client.Call("Client.Show", fmt.Sprintf("callback:%s.", arg), &ret)
return nil
}
func main() {
l, err := net.Listen("tcp", "127.0.0.1:5678")
if err != nil {
log.Fatal("Listen:", err)
}
defer l.Close()
p := new(Server)
node1, err := rpc2d.Accept(l, p)
if err != nil {
log.Fatal("Accept:", err)
}
defer node1.Close()
p.Client = node1.Client
var s string
var ret int
for i := 0; i < 5; i++ {
s = fmt.Sprintf("server message %d\n", i)
node1.Client.Call("Client.Show", s, &ret)
fmt.Printf("Return:%d\n", ret)
}
select {}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/rocket049/rpc2d.git
git@gitee.com:rocket049/rpc2d.git
rocket049
rpc2d
rpc2d
v1.0.8

搜索帮助