zhangmeng
2019-05-31 57771af13e80d9cc1f75754ab3dbfffc87fcebfd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package main
 
import (
    "demo/deliver"
    "fmt"
    "time"
)
 
func req(url string, m deliver.Mode) {
    p := deliver.NewClient(m, url)
    var err error
 
    msg := `hello, give me your data`
 
    var t int64
    var elapse int64
    count := 0
 
    for {
 
        if err = p.Send([]byte(msg)); err != nil {
 
            fmt.Printf("can't send message on push socket: %s\n", err.Error())
        } else {
        }
 
        if buf, err := p.Recv(); err != nil {
            fmt.Println("recv error: ", err)
        } else {
            if t == 0 {
                t = time.Now().UnixNano()
            }
            elapse = time.Now().UnixNano() - t
 
            count++
 
            if elapse > 1e9 {
                fmt.Printf("NODE: RECEIVED \"%d\" data len %d, use \"%d\" ns\n",
                    count, len(buf), elapse)
                elapse = 0
                count = 0
                t = 0
            }
 
        }
        // time.Sleep(10 * time.Millisecond)
    }
 
}
 
func rep(url string, m deliver.Mode) {
    c := deliver.NewServer(m, url)
 
    var msg []byte
    var err error
 
    buf := make([]byte, dLen)
 
    for {
        msg, err = c.Recv()
        if err != nil {
            fmt.Println("recv error : ", err, " msg ", msg)
            continue
        }
 
        c.Send(buf)
        // time.Sleep(10 * time.Millisecond)
    }
}