我需要存储WebRTC返回的SDP结构。该规范没有定义最大长度,但显然数据库需要一个。
在这种情况下,合理的长度限制是多少?在这种未定义的情况下,您通常如何决定长度限制?
通常,不需要存储整个 SDP 数据包。在大多数情况下,SDP 数据包长度没有上限这一事实不是问题。
在这种情况下,您可以做的最简单的事情就是使用blob。
除非 SessionId 和 Originator 在 SDP 中发生变化,否则它可能不起作用。
另一个堆栈可能会看到 SDP 并接受它,但无法与远程客户端通信。
SDP 很可能必须在某种程度上重新编写。如果您想要一个替代方案,您可以将 SDP 转换为 XML 并将 XML 存储在数据库中,然后使用函数来查询 xml 并将其作为 SDP 动态写出。...
如果 XML 是不可能的,并且您真的只关心存储,请参阅filestream
SQLServer http://www.databasejournal.com/features/mssql/filestream-and-filetable-in-sql-server-2012.html中的选项
此外,在阅读了仅与 WebRTC 相关的草案规范之后......
https://datatracker.ietf.org/doc/html/draft-nandakumar-rtcweb-sdp-00#page-3
我相信由于 SDP 中使用了密钥交换,您肯定必须重写 SDP 的部分内容。
回答我自己的问题。
您可以使用历史值估计最大长度,也可以使用 BLOB。就我而言,我最终选择了 4000 字节的理论限制。