当前位置:网站首页>Protocol Bible - talk about ports and quads
Protocol Bible - talk about ports and quads
2022-07-24 10:33:00 【qianbo_ insist】
First, let's talk about libraries and open source software
Some libraries made by server software , Many libraries have the following problems :
1、 Insist on using quads to make a conversation session
It's like the old one rtp lib library jrtplib Is to use such tuples to identify session Of ,udp Incoming and tcp Incoming different , Suppose you use a proxy , In addition to the two-tier agreement agent , If you use a four layer proxy , You get the source port and source IP It's the same , This will cause an error , Even rtp In the agreement ssrc Dissimilarity , He also caches it as a ssrc, Use getssrc An error occurred in the function , This is his bug
2、 Don't recognize ssrc
This is the same as the above problem , But it's not a , distinguish ssrc Is the normal practice of multiple channels in a tuple , Of course you can payload To identify different sources , Such as audio and video , But it's not enough . such as zlMediaServer, It is also unrecognized , Find data of the same tuple ,ssrc Different from before , Direct discarding , It's not right .
3、 practice
Quadruple should not be regarded as copper strip , Should put the ssrc and payload separate from , For example, when acting as an agent .
tcp The agent has no problem ,session The conversation has changed , The port has changed .
udp agent , If you use the same IP, Same port , Many software have errors .
Here's what I did udp Use different ports in the transport layer , Just distinguish the different IP source , Assign different ports to it , Like those server It still works .
4 summary
Just a few words , If we can understand , It shows that we are a doer , I understand these theories in practice . Later, add code to explain .
边栏推荐
- 【LeeCode】获取2个字符串的最长公共子串
- Programmers can't JVM? Ashes Engineer: all waiting to be eliminated! This is a must skill!
- Web Security Foundation - file upload (file upload bypass)
- Is it safe to open an online stock account?
- zoj-Swordfish-2022-5-6
- [electronic device note 3] capacitance parameters and type selection
- Arduino + AD9833 波形发生器
- The role of glpushmatrix and glpopmatrix
- 分布式锁-Redission 原理分析
- ECCV 2022 | 清华提出首个嵌入光谱稀疏性的Transformer
猜你喜欢

Create a vertical seekbar from scratch

Volcanic engine: open ByteDance, the same AI infrastructure, a system to solve multiple training tasks

PC博物馆(1) 1970年 Datapoint 2000

MySQL - 索引的隐藏和删除

Intranet remote control tool under Windows

火山引擎:开放字节跳动同款AI基建,一套系统解决多重训练任务

Golang migrate is easy to use

MySQL 数据库 JDBC编程

zoj1137+作业1--2022年5月28日

Interpretation of websocket protocol -rfc6455
随机推荐
Ffmpeg splash screen solution (modify the source code and discard incomplete frames)
OpenGL drawing simple triangles
Nirvana rebirth! Byte Daniel recommends a large distributed manual, and the Phoenix architecture makes you become a God in fire
ECCV 2022 | Tsinghua proposes the first transformer to embed spectral sparsity
机器学习小试(10)使用Qt与Tensorflow创建CNN/FNN测试环境
Binary original code, inverse code, complement code
MySQL - update data records in tables
Set up mail server with dynamic ip+mdaemon
题解——Leetcode题库第283题
Common Unicode encoding range
关联规则--2022年7月10日
[electronic device note 4] inductance parameters and type selection
Tree array-
563页(30万字)智慧化工园区(一期)总体设计方案
[leecode] get the longest common substring of two strings
Analysis of distributed lock redistribution principle
Review of new services and functions of Amazon cloud technology in June 2022
Erlang学习番外
脚手架文件目录说明、文件暴露
差分约束系统---1且2--2022年5月27日