gpt4 book ai didi

c - 加密数据(pjsip)

转载 作者:太空宇宙 更新时间:2023-11-04 01:24:03 34 4
gpt4 key购买 nike

我想在通过 rtp 发送之前用 pjsip 库中的 Bouncy CaSTLe 加密数据。谁用过 pjsip,请帮助我,我对 C 不友好,所以我应该在哪里做。在对 pjsip lib 文件进行一些研究后,我发现了具有以下功能的“transport.c”文件:

static void ice_on_rx_data(pj_ice_strans *ice_st, unsigned comp_id, 
void *pkt, pj_size_t size,
const pj_sockaddr_t *src_addr,
unsigned src_addr_len)

我走对路了吗?

最佳答案

在pjsip中找到pjmedia/src/pjmedia/transport_udp.c

要发送 UDP 数据包 pjsip 使用此函数..

 static pj_status_t transport_send_rtp( pjmedia_transport *tp,
const void *pkt,
pj_size_t size)

所以你必须在这个函数中加密你的数据包。所以获取 pkt 并对其进行加密。此外,如果您允许 rtcp,那么您可能必须加密 rtcp 数据包。该功能也可以在那里找到。名字是..

static pj_status_t transport_send_rtcp2(pjmedia_transport *tp,
const pj_sockaddr_t *addr,
unsigned addr_len,
const void *pkt,
pj_size_t size)

所以这些函数可以在pjmedia/src/pjmedia/目录下的transport_udp.c中找到。

所以如果你想发送加密包,你可以在那里加密数据包。此外,为了解密收到的加密数据包,您可以使用这些功能..

 static void on_rx_rtp( pj_ioqueue_key_t *key,
pj_ioqueue_op_key_t *op_key,
pj_ssize_t bytes_read);

static void on_rx_rtcp(pj_ioqueue_key_t *key,
pj_ioqueue_op_key_t *op_key,
pj_ssize_t bytes_read);

你可以在那里解密。

关于c - 加密数据(pjsip),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34878584/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com