WebSocket用于客户端与服务器双向通信,如聊天室;WebRTC实现浏览器间点对点音视频及数据传输,需信令服务器辅助建立连接。

要实现网页中的实时通信,JavaScript 提供了两种核心技术:WebSocket 和 WebRTC。它们用途不同,但都能实现实时数据传输。
WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。适合需要服务器主动推送消息的场景,比如聊天室、实时通知、股票行情等。
使用方法:示例代码:
const socket = new WebSocket('ws://localhost:8080');
socket.onopen = () => {
console.log('连接已建立');
socket.send('你好,服务器!');
};
socket.onmessage = (event) => {
console.log('收到消息:', event.data);
};
socket.onerror = (error) => {
console.error('连接出错:', error);
};
socket.onclose = () => {
console.log('连接已关闭');
};
后端可以使用 Node.js 配合 ws 或 socket.io 等库来搭建 WebSocket 服务。
立即学习“Java免费学习笔记(深入)”;
WebRTC(Web Real-Time Communication)支持浏览器之间直接传输音视频流或任意数据,常用于视频会议、语音通话、P2P 文件传输等。
关键组件:基本流程:
简单示例(创建数据通道):
const pc = new RTCPeerConnection();
const dc = pc.createDataChannel('chat');
dc.onmessage = (event) => {
console.log('收到数据:', event.data);
};
pc.ondatachannel = (event) => {
event.channel.onmessage = (e) => {
console.log('对方发来:', e.data);
};
};
// 启动连接(需配合信令交换)
pc.createOffer().then(offer => pc.setLocalDescription(offer))
.then(() => {
// 将 offer 发送给对方(通过 WebSocket 等)
});
以上就是如何利用JavaScript实现实时通信,如WebSocket和WebRTC?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号