我使用SignalR创建了.net核心聊天应用程序,并使用WebRTC进行视频通话。由于我需要使用服务器方法将SDP发送到接收器,因此我创建了一个集线器方法,称为“SendOffer”。当我单击“视频通话”按钮时,已调用此“SendOffer”方法。我把客户端代码放在下面

var connection = new signalR.HubConnectionBuilder()
    .withUrl('/chat')
    .build();

const Peer = new RTCPeerConnection();

const video = document.querySelector('video');

const constraints = {
    'video': true,
    'audio': true
}

document.getElementById("sendVideo").addEventListener("click", function (event) {

    navigator.mediaDevices.getUserMedia({
        video: true,
        audio: true,
    }).then(function (stream) {
        video.srcObject = stream
        video.play();
        //Peer.addStream(stream);
        Peer.createOffer()
            .then(sdp => Peer.setLocalDescription(sdp))
            .then(function () {
                console.log(Peer.localDescription);
                //connection.invoke("SendOffer", Peer.localDescription).catch(function (err) {
                //    return console.error(err.toString());
                connection.invoke("SendOffer", Peer.localDescription);
            })
    });
})

但这会在控制台日志中显示错误,并且无法正常工作。打击是错误



谁能帮我解决这个错误。

最佳答案

发生了同样的错误。
就我而言,这是因为类型不匹配。服务器期望的字符串。客户端正在从值“1234”的变量发送值,该值作为整数发送。

10-01 23:11