cenkalti / rpc2

Bi-directional RPC in Go (Golang)

Home Page:https://godoc.org/github.com/cenkalti/rpc2

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

unexpected EOF

darmie opened this issue · comments

This error terminates the connection immediately there is a response from the server

example:

server

        server := rpc2.NewServer()

       server.Handle("invoke", client *rpc2.Client, data *InvokeData, resp *interface{}) error {
		response = &ResponseData{
			Status: "success",
			Code:   200,
			Data:   b,
		}
               client.Call("response", response, nil)
       })

	addr := fmt.Sprintf("127.0.0.1:%d", 4000)
	li, _ := net.Listen("tcp", addr)
       	conn, err := li.Accept()
	if err != nil {
		fmt.Printf("%v\n", err)
	}
	server.ServeCodec(jsonrpc.NewJSONCodec(conn))

client

	client, _ := net.Dial("tcp", "127.0.0.1:4000")

	c := rpc2.NewClientWithCodec(jsonrpc.NewJSONCodec(client))

	go c.Run()

	var myargs *InvokeData
	myargs = &InvokeData{
		Function:   "DoSomething",
		ContractID: "983890276903",
		Data: &MyData{
			Amount: 10.50,
		},
	}
	c.Handle("response", func(vm *rpc2.Client, data *InvokeData, resp *interface{}) error {
		fmt.Printf("%v\n", data)
		return nil
	})
	err := c.Call("invoke", &myargs, nil)
	if err != nil {
		fmt.Printf("%v\n", err)
	}

I am getting this error

&{ eyJBbW91bnQiOjEwLjV9 }
unexpected EOF