首页 > 解决方案 > 未捕获(承诺中)错误:由于服务器上的错误而无法调用“XXXXX”

问题描述

我使用 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);
            })
    });
})

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

signalr.js:2088 Uncaught (in promise) 错误:由于服务器上的错误,无法调用“SendOffer”。在 _this.callbacks。(signalr.js:2088) 在 HubConnection.processIncomingData (signalr.js:2182) 在 WebSocketTransport.HubConnection.connection.onreceive (signalr.js:1905) 在 WebSocket.webSocket.onmessage (signalr.js:3949)

谁能帮我解决这个错误。

标签: javascriptc#asp.net-core-mvcwebrtc

解决方案


有同样的错误。在我的情况下,这是因为类型不匹配。服务器预期的字符串。客户端正在从值为“1234”的变量发送值,该变量作为 int 发送。


推荐阅读