如何在共享主机上使用WebRTC和PHP实现点对点文本聊天

如何在共享主机上使用WebRTC和PHP实现点对点文本聊天,php,webrtc,p2p,shared-hosting,Php,Webrtc,P2p,Shared Hosting,我已经看过这个共享主机和PHP的例子 据说,它可以点对点地共享音频/视频。据推测,即使在共享主机上,它也会这样做,而且一旦建立了连接,它就会在对等网络上工作。我如何修改它以发送文字聊天信息,而不是音频和视频 编辑:事后看来,这可能不是个好主意。即使在多对多的情况下实现了点对点,这也不理想,因为文本聊天的期望是,你至少可以看到最后50-100条消息,而不是每次都重新开始。这需要同时对所有对等方进行同步状态管理,没有中央服务器就无法做到这一点。如果是这样,那么WebRTC根本不是最好的解决方案。相

我已经看过这个共享主机和PHP的例子

据说,它可以点对点地共享音频/视频。据推测,即使在共享主机上,它也会这样做,而且一旦建立了连接,它就会在对等网络上工作。我如何修改它以发送文字聊天信息,而不是音频和视频

编辑:事后看来,这可能不是个好主意。即使在多对多的情况下实现了点对点,这也不理想,因为文本聊天的期望是,你至少可以看到最后50-100条消息,而不是每次都重新开始。这需要同时对所有对等方进行同步状态管理,没有中央服务器就无法做到这一点。如果是这样,那么WebRTC根本不是最好的解决方案。相反,使用普通AJAX并实现任何类型的简单服务器端状态管理,如RAM文件、共享内存API(例如memcached)、数据库表、文件等


为此,您需要创建一个
datachannel
,在那里您可以通过对等RTPeerConnection发送文本数据


您可以从

中获取参考。为此,您需要创建一个
数据通道
,在那里您可以通过对等RTPeerConnection发送文本数据


您可以参考一下

我不理解的是如何从视频和音频传输的示例中断到使用RTCDataChannel。您共享的示例似乎只针对视频/音频编写。您需要添加几行类似这样的附加代码——创建新的RTPeerConnection、Exchange offer、answer和候选者以建立对等连接,创建datachannelRight,但没有NodeJS(不幸的是,大多数服务器端示例都基于NodeJS),因为我使用PHP,由于没有WebSockets(共享主机,所以我需要使用SSE/EventSource),我所拥有的只是nielsbaloe的代码,我一直在努力查看我在哪里修改了它,以实现RTCDataChannel。Nielsbaloe已经找到了使用PHP+SSE/EventSource而不是NodeJS+WebSockets进行信令步骤的方法。但是,我不知道从信令步骤转移到RTCDataChannel的其他技术。我不知道的是如何从视频和音频传输的示例过渡到使用RTCDataChannel。您共享的示例似乎只针对视频/音频编写。您需要添加几行类似这样的附加代码——创建新的RTPeerConnection、Exchange offer、answer和候选者以建立对等连接,创建datachannelRight,但没有NodeJS(不幸的是,大多数服务器端示例都基于NodeJS),因为我使用PHP,由于没有WebSockets(共享主机,所以我需要使用SSE/EventSource),我所拥有的只是nielsbaloe的代码,我一直在努力查看我在哪里修改了它,以实现RTCDataChannel。Nielsbaloe已经找到了使用PHP+SSE/EventSource而不是NodeJS+WebSockets进行信令步骤的方法。但是,我不知道从信令步骤转移到RTCDataChannel的其他技术。