В последнее время мне нужно вызвать какой-нибудь SDK (dll) на сервере через Websocket. Поэтому я выбираю SignalR. И процедура как ниже:
1.клиент (веб-страница) отправляет имя метода и параметры в концентратор
2.hub получил эти сообщения и передал их клиентам
3.hub метод запуска вызова
4. метод обратного вызова приносит результаты вызванного ранее метода и передает результаты клиентам.
шаг 3 и шаг 4 занимают много времени.
И я никогда не мог получить сообщение шага 4.
Но я, две веб-страницы, могу получать сообщения, которые отправляет друг другу.
код 4 шага вот так
var context=GlobalHost.ConnectionManager.GetHubContext<TestHub>();//管理连接到的Hub服务
context.Clients.All.recevie("该吃饭了")