|
@@ -1,111 +1,28 @@
|
|
|
package main
|
|
|
|
|
|
import (
|
|
|
- _ "bytes"
|
|
|
- "encoding/json"
|
|
|
- "fmt"
|
|
|
"log"
|
|
|
- "mfw/util"
|
|
|
- "regexp"
|
|
|
- "strings"
|
|
|
- "time"
|
|
|
+ mu "mfw/util"
|
|
|
)
|
|
|
|
|
|
-const (
|
|
|
- MSG_SERVER = "test.qmx.top:7070" //消息服务器地址
|
|
|
- GC_TIMEOUT = 100 //客户端检查链接间隔X秒
|
|
|
-)
|
|
|
-
|
|
|
-//消息处理
|
|
|
-func processEvent(p *util.Packet) {
|
|
|
- //TODO 异步调用的结果在这里处理
|
|
|
- fmt.Println("异步调用的结果", string(p.GetBusinessData()))
|
|
|
-
|
|
|
-}
|
|
|
-
|
|
|
-var client *util.Client
|
|
|
-
|
|
|
-func main2() {
|
|
|
- // client, _ = util.StartClient(processEvent, MSG_SERVER, []int{util.EVENT_RECIVE_CALLBACK}, GC_TIMEOUT)
|
|
|
- // time.Sleep(5 * time.Second)
|
|
|
- // for i := 0; i < 2; i++ {
|
|
|
- // client.WriteObj("", "", 4001, 0, s1)
|
|
|
- // //time.Sleep(5 * time.Second)
|
|
|
- // client.WriteObj("", "", 4001, 0, s2)
|
|
|
- // //time.Sleep(5 * time.Second)
|
|
|
- // }
|
|
|
- // b := make(chan bool, 1)
|
|
|
- // <-b
|
|
|
-}
|
|
|
-
|
|
|
-func main3() {
|
|
|
- client, _ = util.StartClient(processEvent, MSG_SERVER, "测试调用", []int{util.SERVICE_SPIDER_ECPS})
|
|
|
- client.WriteObj("", "", util.SERVICE_SPIDER_ECPS, util.SENDTO_TYPE_ALL_RECIVER, map[string]string{"entName": "安彩液晶显示器件有限责任公司"})
|
|
|
- fmt.Println("************")
|
|
|
- time.Sleep(20 * time.Second)
|
|
|
- //同步调用方法
|
|
|
- // for i := 0; i < 10; i++ {
|
|
|
- // //同步调用
|
|
|
- // msgid := util.UUID(8)
|
|
|
- // ret, err := client.Call("", msgid, 2000, util.SENDTO_TYPE_RAND_RECIVER, map[string]interface{}{
|
|
|
- // "param": "我是张三啊",
|
|
|
- // "msgid": msgid,
|
|
|
- // }, 2)
|
|
|
- // fmt.Println("jg:::", string(ret), err)
|
|
|
- // }
|
|
|
- // time.Sleep(5 * time.Second)
|
|
|
-
|
|
|
- //异步调用,一直给服务器发垃圾,直到超时
|
|
|
- // for i := 0; i < 1000000; i++ {
|
|
|
- // sendbs := bytes.Repeat([]byte{0, 0}, i%1000)
|
|
|
- // msgid := util.UUID(8)
|
|
|
- // client.WriteObj("", msgid, 2004, util.SENDTO_TYPE_RAND_RECIVER, sendbs)
|
|
|
- // fmt.Print("+")
|
|
|
- // if i%500 == 0 {
|
|
|
- // time.Sleep(1 * time.Second)
|
|
|
- // }
|
|
|
- // }
|
|
|
- // time.Sleep(480 * time.Second)
|
|
|
-}
|
|
|
-
|
|
|
-func main4() {
|
|
|
- client, _ = util.StartClient(processEvent, MSG_SERVER, "测试调用", []int{})
|
|
|
- time.Sleep(5 * time.Minute)
|
|
|
-}
|
|
|
-
|
|
|
func main() {
|
|
|
- client, _ = util.StartClient(func(p *util.Packet) {
|
|
|
- //异步调用
|
|
|
- }, MSG_SERVER, "测试调用", []int{})
|
|
|
- ret, _ := client.Call("", util.UUID(8), 4010, util.SENDTO_TYPE_RAND_RECIVER, "湖北烟草金叶复烤有限责任公司襄阳复烤厂补充建立招标代理机构库采购项目评标结果公示", 3)
|
|
|
- var m [][]string
|
|
|
- json.Unmarshal(ret, &m)
|
|
|
- log.Println(m)
|
|
|
- var reg = regexp.MustCompile("^[0-9a-zA-Z-.]+$")
|
|
|
- arr := []string{}
|
|
|
- keyword := []string{}
|
|
|
- for _, tmp := range m {
|
|
|
- if reg.MatchString(tmp[0]) {
|
|
|
- arr = append(arr, tmp[0])
|
|
|
+ c := mu.NewCluster4Client(&mu.Node{
|
|
|
+ Name: "测试消息服务器",
|
|
|
+ ServerAddr: "127.0.0.1:7070",
|
|
|
+ UseTls: true,
|
|
|
+ TlsCertFile: "./demo.xiaoa7.com.crt",
|
|
|
+ TlsKeyFile: "./demo.xiaoa7.com.key",
|
|
|
+ Weight: 0.8,
|
|
|
+ }, //可以写多个
|
|
|
+ )
|
|
|
+ defer c.Close()
|
|
|
+ for i := 0; i < 50; i++ {
|
|
|
+ bs, err := c.CallWithResult("", 2000, "", 5)
|
|
|
+ if err != nil {
|
|
|
+ log.Println(err.Error())
|
|
|
} else {
|
|
|
- if len(arr) > 0 {
|
|
|
- str := strings.Join(arr, "")
|
|
|
- keyword = append(keyword, str)
|
|
|
- arr = []string{}
|
|
|
- }
|
|
|
- if len(tmp[0]) > 3 && (strings.HasPrefix(tmp[1], "n") || tmp[1] == "v" || tmp[1] == "vn" || strings.HasPrefix(tmp[1], "g")) {
|
|
|
- keyword = append(keyword, tmp[0])
|
|
|
- }
|
|
|
+ log.Println(string(bs))
|
|
|
}
|
|
|
}
|
|
|
- log.Println(strings.Join(keyword, ","))
|
|
|
- content := "湖北烟"
|
|
|
- tc := []rune(content)
|
|
|
- ltc := len(tc)
|
|
|
- des := content
|
|
|
- if ltc > 12 {
|
|
|
- des = string(tc[:12])
|
|
|
- }
|
|
|
- log.Println(des)
|
|
|
|
|
|
}
|