您当前的位置: 首页 >  服务器

qianbo_insist

暂无认证

  • 0浏览

    0关注

    399博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

go udp server事件服务器

qianbo_insist 发布时间:2022-08-26 21:55:05 ,浏览量:0

目的

所有消息由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             
关注
打赏
1663161521
查看更多评论
0.0375s