webRTC(十四):webrtc 端到端文本聊天

console.log(‘create RTCPeerConnection!’);

if(!pc){

pc = new RTCPeerConnection(pcConfig);

//文本聊天

pc.ondatachannel = e =>{

// if(!dc){

dc= e.channel;

dc.onmessage =reveivemsg;

dc.onopen = dataChannelStateChange;

dc.onclose = dataChannelStateChange;

dc.onerror = dataChannelError;

// }

}

}

}

创建本地流媒体链接时创建DataChannel

  • 接收数据

//文本对方传过来的数据

function reveivemsg(e){

var msg = e.data;

console.log(‘recreived msg is :’+e.data);

if(msg){

chat.value += ‘->’ + msg + ‘\r\n’;

}else{

console.error(‘recreived msg is null’);

}

}

  • 监听通道是否打通

function dataChannelStateChange(){

var readyState=dc.readyState;

if(readyState===‘open’){

send_txt.disabled =false;

btnSend.disabled=false;

}else{

send_txt.disabled = true;

btnSend.disabled =true;

}

}

  • 发送消息

//发送消息

function sendText(){

var data = send_txt.value;

if(data){

dc.send(data);

}

send_txt.value=“”;

chat.value += ‘<-’ +data+‘\r\n’;

}

  • 效果

在这里插入图片描述


源码


  • html
WebRTC PeerConnection

Connect Sig Server

Leave

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值