Browse Source

修改rpc连接方式

master
xyiege 5 months ago
parent
commit
15c5c4c9c8
  1. 36
      scalib/main.go

36
scalib/main.go

@ -4,6 +4,7 @@ import (
"flag" "flag"
"fmt" "fmt"
"net/rpc" "net/rpc"
"net/rpc/jsonrpc"
"os" "os"
"scalib/util" "scalib/util"
@ -51,17 +52,18 @@ func main() {
} }
defer client.rpcClient.Close() defer client.rpcClient.Close()
// 调用 transferFile // 调用 transferFile
err = transferFile(client, *curPath, *uploadPath) // err = transferFile(client, *curPath, *uploadPath)
if err != nil { // if err != nil {
logger.Error("TransferFile failed", zap.Error(err)) // logger.Error("TransferFile failed", zap.Error(err))
fmt.Printf("TransferFile failed: %v\n", err) // fmt.Printf("TransferFile failed: %v\n", err)
} // }
fmt.Printf("TransferFile success\n") // fmt.Printf("TransferFile success\n")
transferFile(client, *curPath, *uploadPath)
} }
// 创建新的客户端 // 创建新的客户端
func NewUpFileClient(addr string) (*UpFileClient, error) { func NewUpFileClient(addr string) (*UpFileClient, error) {
client, err := rpc.Dial("tcp", addr) client, err := jsonrpc.Dial("tcp", addr)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -92,16 +94,16 @@ func transferFile(c *UpFileClient, curPath string, uploadPath string) error {
// fmt.Printf("file size: %d\n", fileInfo.Size()) // fmt.Printf("file size: %d\n", fileInfo.Size())
// 异步 // 异步
go func() { // go func() {
// 发送文件信息 // 发送文件信息
var reply string var reply string
c.rpcClient.Call("UpFileService.SendFileInfo", FileInfo{ c.rpcClient.Call("UpFileService.SendFileInfo", FileInfo{
FileName: uploadPath, FileName: uploadPath,
FileSize: fileInfo.Size(), FileSize: fileInfo.Size(),
}, &reply) }, &reply)
// 输出执行的结果 // 输出执行的结果
fmt.Printf("SendFileInfo result: %v\n", reply) fmt.Printf("SendFileInfo result: %v\n", reply)
}() // }()
return nil return nil
} }

Loading…
Cancel
Save