1. 程式人生 > >SignalR SelfHost實時訊息,整合到web中,實現伺服器訊息推送

SignalR SelfHost實時訊息,整合到web中,實現伺服器訊息推送

先前用過兩次SignalR,但是中途有段時間沒弄了,今天重新弄,發現已經忘得差不多了,做個筆記!

首先建立一個控制檯專案
Nuget新增引用聯機搜尋:
Microsoft.AspNet.SignalR.SelfHost
Microsoft.Owin.Cors

在Program.cs新增程式碼


新增一個Hub

這個hub裡面我們就實現了連線時候伺服器像客戶端推送一條訊息,客戶端接收方法為receive
下面我又給這個hub添加了一個send方法,客戶端傳送訊息來的時候會把訊息廣播到所有客戶端去,程式碼如下:

public void Send(string msg)
        {
            Clients.All.receive(msg);
        }



我們先測試一下web端:
建立一個空的web MVC專案(winform也行,無所謂),Nuget新增搜尋SignalR新增:Microsoft Asp.Net SignalR JavaScript Client的引用


建立一個HomeController,在其Index.cshtml分別引用:jquery,jquery.signalR.xxx.min.js
新增JS引用跟JS程式碼

注意兩個http地址的引用,一定要寫你的服務點的地址跟埠,接下來我們測試下效果:

從上面我們可以看到,不論哪個連線到服務端,傳送訊息,所有的客戶端都能收到,如果要針對單獨的人員傳送訊息,只需要指定這個人的clientID即可
SignalR不會儲存客戶端人員資訊,也不會知道這個人到底連線沒連線,所以要實現線上離線功能,自己維護一個線上快取表即可!

點選這裡下載

相關推薦

SignalR SelfHost實時訊息,整合web實現伺服器訊息

先前用過兩次SignalR,但是中途有段時間沒弄了,今天重新弄,發現已經忘得差不多了,做個筆記! 首先建立一個控制檯專案Nuget新增引用聯機搜尋:Microsoft.AspNet.SignalR.SelfHostMicrosoft.Owin.Cors 在Program.cs新增程式碼新增一個

Spring Boot專案與Docker整合完成打包打映象及至映象庫的功能

Spring Boot與Docker整合完成一站式打包到推送至映象庫,減少部署的過程,下面主要來介紹一下,如何整合Docker: 1.在Spring Boot專案的pom.xml檔案中做以下配置: <build> <plugins> &l

日誌資訊實時顯示到窗體類似Console一樣的輸出臺。

C#用RichTextBox元件實現類似Console一樣的輸出臺。 做一個示例 開啟VS,建立一個新的Windows窗體應用,不修改任何名稱 在Form1窗體內新增一個RichTextBox元件 如圖 複製以下程式碼至Form1.cs using System; using Syst

maven專案SSM+Shiro整合配置在有SpringMVC+MyBatis配置下整合shiro的配置步驟

      最近在做SSM(SpringMVC+Shiro+MyBatis)整合的一個專案,對於shiro的配置不是特別熟練,於是想要寫下來,加深一下印象。在有SpringMVC+MyBatis配置的基礎上整合shiro:       首先進入shiro的官方網站(http

PyCharm整合環境在python檔案引入numpy包出錯

1、在ELM_python3.5.4.py中引入numpy包,出錯,如下圖1所示 2、原因 原因是pycharm所使用的直譯器並不是已經安裝的python3.5,而是專案自帶的python.exe直譯器,並且只有兩個模組pip和setuptools,許

在java-web關於cookie和session

1)得到session編號: getId()  2)session物件生命週期:   2.1 session物件什麼建立?        執行request.getSession()方法時   2.2 session物件什麼銷燬?       1)預設情況下,session物件在30分鐘之後伺服

二十九、Springboot整合Web services構建SOAP服務

(一)新增依賴 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-we

WEBQuartz使用配置檔案呼叫

兩個配置檔案,一個properties和一個xml properties: #==============================================================

黑科技!僅需 3 行程式碼就能將 Gitter 整合到個人網站實現一個 IM 即時通訊聊天室功能?

歡迎關注個人微信公眾號: 小哈學Java, 優質文章第一時間推送!! 個人網站: https://www.exception.site/essay/how-to-use-gitter-on-your-website-quickly 一、前言 小哈從很早以前就有寫博文的習慣,不過那個時候,也沒咋認真地寫

DataPipeline丨構建實時資料整合平臺時在技術選型上的考量點

文 | 陳肅 DataPipeline  CTO 隨著企業應用複雜性的上升和微服務架構的流行,資料正變得越來越以應用為中心。   服務之間僅在必要時以介面或者訊息佇列方式進行資料互動,從而避免了構建單一資料庫叢集來支撐不斷增長的業務需要。以應用為中心的資料持久化架構,在帶來可伸縮性好

ASP.NET Core SignalR :學習訊息通訊實現一個訊息通知

 什麼是 SignalR        目前我用業餘時間正在做一個部落格系統,其中有個功能就是評論通知,就是假如A使用者評論B使用者的時候,如果B使用者首頁處於開啟狀態,那麼就會提示B使用者有未讀訊息。暫時用SignalR來實現這個功能。我也是看了兩天的資料才

將日誌記錄在是mysql實現loganalyzer

mysql 日誌 報表 三臺主機 192.168.191.106(代號106) 產生日誌 192.168.191.107(代號107) 實現存放日誌的數據庫 192.168.191.173(代號173) 實現日誌報表 1、實現rsyslog將日誌記錄於M

在Linux系統實現LVM邏輯卷管理及磁盤配額

Linux LVM邏輯卷 磁盤管理配額 LVM(Logical Volume Manager)是Linux系統中對磁盤分區進行管理的一種邏輯機制,他是建立在磁盤和分區之上的一個邏輯層,能夠在保持現有數據不變的情況下動態調整磁盤容量,從而提高磁盤管理的靈活性。 1. 執行命令 fdisk -l 來查

在GNS3實現switchrouter虛擬機 pc互聯互通

roc cdd name 路由器 適配 命令 ccf address ces 實驗環境:GNS3 ,虛擬機 1.打開虛擬機,選擇編輯項裏面的-虛擬網絡編輯器 2.選擇-添加網絡,確定後重啟宿主機 3.重啟後,打開GNS3,拖入一個路由器 4.右擊router,選擇-Chan

相簿選取圖片插入到EditText實現圖文混排

1.首先用到了 ImagePicker,上github搜尋仿微信圖片選擇就能找到 2.匯入ImagePicker的包 compile 'com.squareup.picasso:picasso:2.5.2' 3.我是用是 picasso載入圖片,github上imag

SSM框架整合Apache Shiro實現安全登入驗證和許可權驗證功能

第一部分 Apache Shiro的簡介  1、什麼是 apache shiro : Apache Shiro是一個功能強大且易於使用的Java安全框架,提供了認證,授權,加密,和會話管理 如同 spring security 一樣都是是一個許可權安全框架,但是與Spri

如何在react實現可伸縮的echarts圖表

1,基礎篇 我們在使用echart,基本使用,可以使用script標籤引入的方式進行使用,也可以使用npm的方式,進行載入echarts。 script的方式,非常簡單,就像我們的jquery一樣,引入這樣的一個js檔案就可以使用echarts了。然後echarts的核心就是例項化一

【隨堂筆記】unity開發Socket的用法(一實現伺服器與客戶端簡單的連結)

實現了簡單的連結,也增加了客戶端沒有連結到伺服器的自動重連 伺服器程式碼 using System; using System.Net; using System.Net.Sockets; namespace SeverSocket { class Program

小程式訊息(含原始碼)java實現小程式springboot實現微信訊息

最近需要開發微信和小程式的推送功能,需要用java後臺實現推送,自己本身java和小程式都做,所以就自己動手實現下小程式的模版推送功能推送。 實現思路 1 小程式獲取使用者openid,收集formid傳給java後臺 2 java推送訊息給指定小程式使用

伺服器實時通知客戶端方案伺服器傳送/事件方案(2)server event典型例子可以用作股票、新聞資訊

server event是html5規範的一部分,它相比websocket使用起來更簡單,對伺服器的改動也最小 前端html部分 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&