当我想要从React组件发送数据到集线器时,我得到了一个问题,它不是发送...注意集线器已连接到客户端,但无法发送/接收数据
集线器代码
public void SendMessageToAll(string userName, string message)
{
Clients.All.messageReceived(userName, message );
}
React Js代码:
import React, { Component } from 'react';
import { Link } from 'react-router-dom';
import { hubConnection } from 'signalr-no-jquery';
class Dashboard extends Component {
constructor(props) {
super(props);
const connection = hubConnection('https://localhost:44332');
const hubProxy = connection.createHubProxy('Chat');
hubProxy.on('Hello', function(name) {
console.log(name);
});
// atempt connection, and handle errors
connection.start()
.done(function(){ console.log('Now connected, connection ID=' + connection.id); })
.fail(function(){ console.log('Could not connect'); });
}
render() {
return (
<div/>
);
}
}
export default Dashboard;
发布于 2020-09-14 18:20:37
通常,在使用SignalR时,我们将创建ChatHub.cs,其中包含发送/接收方法。在客户端,我们将声明一个代理来引用集线器并连接集线器,然后,我们可以调用集线器的发送/接收方法来传输消息。但是从您的代码中,我没有找到调用"SendMessageToAll()“方法的位置,所以消息不会发送。请检查您的代码。
这里有一些关于使用SignalR的教程,你可以查看它们:
Chat Application Using ASP.NET, ReactJS, Web API, SignalR and Gulp
https://stackoverflow.com/questions/63859460
复制相似问题