在上节课中呢,我向你讲述了peerconnection客户端类之间的关系以及类之间的时序图,那通过那两张图呢,我想你应该对peerconnection的整体结构。应该有了一个很清楚的理解,那今天呢,我们再来看看peerconnection客户端的几个重要的信令。那实际上,对于peerconnection这个demo来说,它需要处理的信令非常少,只有几个我们一一来看一下。那第一个信令呢,
是用户登录信令 sign In,那当服务端收到信令之后呢,就会在服务端给他创建一个与之对应的对象。存在内存中,然后给客户端返回一个用户,登录成功消息好,第二个信令呢,是用户退出信令,也就是Sign out,这也非常好理解,对吧?那第三个信令呢,是wait信令。这个信令啊,不太好理解,
我这里做一下解释,实际上wait信令的作用是指从信令服务器的消息队列中。获取暂存的中转消息,比如说sdp消息、candidate的消息,那换句话说呢,对于信令服务器来说,它没有主动推消息的功能,只能是用户给服务端。发送消息或者说用户从服务端拉取消息。
最后一个信令呢,是透传信令message,那它的作用呢,就是客户端将sdp或者是candidate。传输给服务端,服务端会将这些消息呢转存到它想通讯的用户的队列中。
当这一端向服务器请求消息的时候,那服务端呢,就会将暂存在队列中的消息发送给对端。OK,那以上这四个消息呢?
就是peerconnection demo的四个重要的信令,通过这四个信令就可以实现端到端的协商了。OK,那下面呢?我们再来看看信令的时序图。
那这个示意图呢?包括三个部分,第一个呢是呼叫端,第二个呢是信令服务器。第三个呢,是被呼叫端,
那首先呼叫端要先发一个到新领服务器,对吧?被呼叫端呢,也要发一个到新领服务器,这样新领服务器就会为这两个用户创建对应的用户对象保存在内存中。对吧,那之后呼叫端需要向被呼叫端发送sdp或candidate的这些消息的时候呢,就会通过message发送上去。
而被呼叫端获取的时候呢,要通过wait来获取,这时候服务端才会将之前暂存的消息。转发给被呼叫端就是这样一个完整的过程,那同理对于被呼叫端来说呢,
如果他需要将自己的stp发送给对端的时候,也要先发送message。然后呼叫端也是通过wait来获取对应的消息。OK,那最后呢?如果双方要结束这个通话的时候都会sign out消息给信令服务器,这时候信令服务器会将对应的用户清除掉。
那以上呢,就是peerconnection demo的信令时序好,那通过上面的讲解啊,你可以看到整个peerconnection demo的。信令逻辑其实是非常简单的,只需要四个信令就可以实现端与端之间的媒体协商了。那这也是webrtc为了让用户更好的理解这个demo,那做的取舍,
他不想把这个信令搞得过于复杂,对吧?只要能够实现。端与端之间的通讯就OK了,所以才设计了这么一个简单明了的信令系统,那以上呢,就是我们这节课所要讲解的内容。那有任何的问题呢,您可以到讨论区或者是QQ群里去给我留言,我在那里呢,给你做相应解答好,谢谢。
如有侵权,请联系我删除