我已经用于WebRTC
我的聊天应用程序。我的想法是,只要有任何用户加入聊天应用程序,RTCPeerConnection
就会创建一个新对象。聊天室将只允许one-to-one communication
。
示例:假设User1
,User2
并User3
加入了应用程序。如果user1
想与之聊天,user2
则将在这些用户之间创建一个房间。
这里user1
有RTCPeerConnection
并且user2
有它自己的RTCPeerConnection
。接下来webRTC negotiation
(交换要约、回答和 ICE)将通过信令在它们之间发生。数据可以通过 RTC 数据通道共享。
如果user1
要连接user3
,则user1
必须离开之前的房间并与之进行 webRTC 协商user3
(意味着之前的房间删除和新的房间必须创建)。
现在我的问题是:
假设user1
然后user2
正在做 webRTC 通信
用户 1 RTCPeerConnection.signalingstatechange = have-local-offer
用户 2 RTCPeerConnection.signalingstatechange = have-remote-offer
之后我关闭了连接(意味着删除了房间)。接下来user1
要连接user3
。
在这种情况下,我可以重新使用 User1RTCPeerConnection
来创建新的报价user3
吗?
如果是,在删除以前的连接期间我必须注意哪些事项?因为前一个signalingstatechange
是have-local-offer
and have-remote-offer
。有什么帮助或建议吗?