目的
所有消息由udp server 接收,http协议进行获取,如智能面板中的udpserver 接收所有消息以后, 其他客户端可以获取所有流量 udp server 记录所有的数据结构和流量,能力,定义角色如下:对应服务类型和编号 sip server :1 media server :2 media server edge :3 ai server 推理服务器 :4 event server :5 nvr :6 ipc :7
分别启动udp 服务器 和http服务器
code 框架package main
import (
"io"
"fmt"
"net"
"net/http"
"os"
"log"
"container/list"
)
type s_client struct{
*net.UDPAddr
num int
name string
}
var g_client = list.New()
//var g_clients map[uint]list //uint 是ssrc,list是请求的链表
var limitChan = make(chan bool, 1000)
// hello world, the web server
func HelloServer(w http.ResponseWriter, req *http.Request) {
//返回服务器的端口地址,可以有多个服务器来进行负载均衡
io.WriteString(w, "127.0.0.1:8080")
}
// UDP goroutine concurrency to read UDP maybe not parallelism,maybe in onethread maybe in multi thread,maybe yes,maybe no
func udpProcess(conn *net.UDPConn) {
data := make([]byte, 1460)
n,remoteAddr,err := conn.ReadFromUDP(data)
if err != nil {
fmt.Println("Failed To Read UDP Msg, Error: " + err.Error())
}
if(data[0] == 0x80){//RTP 协议
if n
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?