封装发送MML

This commit is contained in:
TsMask
2023-09-08 17:35:51 +08:00
parent d703d15220
commit be001bf890
2 changed files with 145 additions and 0 deletions

View File

@@ -0,0 +1,57 @@
package mmlclient
import (
"fmt"
"strings"
)
// 发送MML
// ip 网元IP地址
// msg 指令
func MMLSendMsgToString(ip, msg string) (string, error) {
// 创建MMLClient实例
client, err := NewMMLClient(ip)
if err != nil {
return "", fmt.Errorf("创建MMLClient实例失败%v", err)
}
defer client.Close()
// 发送数据
err = client.Send(msg)
if err != nil {
return "", fmt.Errorf("发送数据失败:%v", err)
}
// 接收数据
data, err := client.Receive()
if err != nil {
return "", fmt.Errorf("接收数据失败:%v", err)
}
return data, nil
}
// 发送MML
// ip 网元IP地址
// msg 指令
func MMLSendMsgToMap(ip, msg string) (map[string]string, error) {
// 发送获取数据
str, err := MMLSendMsgToString(ip, msg)
// 初始化一个map用于存储拆分后的键值对
m := make(map[string]string)
// 按照分隔符"\r\n"进行拆分
items := strings.Split(str, "\r\n")
// 遍历拆分后的结果
for _, item := range items {
// 按照分隔符"="进行拆分键值对
pair := strings.Split(item, "=")
if len(pair) == 2 {
// 将键值对存入map中
m[pair[0]] = pair[1]
}
}
return m, err
}