sip2peer服务端研究分享2:消息组装:

本文主要探讨SIP2Peer服务端中涉及的SIP协议和JSON数据格式,用于视频和音频传输。文章分析了sip2peer支持的传输协议(udp, tcp, tls, sctp)以及消息类型如MESSAGE、REFER、NOTIFY等,重点解析了MESSAGE请求服务的消息组装和客户端发送流程。" 132862398,19991020,Qt/C++ 自定义控件集成到Qt Creator全平台教程,"['Qt', 'C++', '开发工具', 'GUI设计']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于项目传输的是视频和音频所以使用SIP协议,数据格式使用的是JSON,所以下面分析的主要是以SIP,JSON为主.
sip2peer支持:udp,tcp,tls,sctp

BaseMessage.java

  public static final String PROTO_UDP = "udp";
  public static final String PROTO_TCP = "tcp";
  public static final String PROTO_TLS = "tls";
  public static final String PROTO_SCTP = "sctp";

sip2peer对消息处理进行了封装,下面通过源码分析下:
她的消息类型分为:MESSAGE,REFER,NOTIFY,SUBSCRIBE,PUBLISH等,现在主要看下:MESSAGE

下面是请求服务的消息:它是封装后的sip消息,可以通过抓包工具获取.

MESSAGE sip:10.84.77.75:6066 SIP/2.0
Via: SIP/2.0/UDP 10.84.77.72:5075;rport;branch=z9hG4bK17399a3b
Max-Forwards: 70
To: <sip:10.84.77.75:6066>
From: <sip:kate@10.84.77.72:5075>;tag=639102045520
Call-ID: 348930525975@10.84.77.72
CSeq: 1 MESSAGE
Expires: 3600
User-Agent: mjsip 1.7
Content-Length: 8
Content-Type: application/text

TEST_NAT

 

通过代码分析上面数据:
客户端组装消息,发送过程:

Peer.java
	/**
	 * To send peer message through <code>toContactAddress</code>
	 * 
	 * @param toAddress destination address (local)
	 * @param toContactAddre
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值