SignalR 解析:Persistent Connections

SignalR 解析:Persistent Connections

今天我們對SingarlR的PersistentConnections的使用進行討論,包括,客戶端和服務器如何連接,如何處理消息等等,主要分爲以下幾個部分:

•  利用SignalR開始建立一個web應用程序

•  與服務器建立PersistentConnections

•  在.net客戶端使用PersistentConnections

•  在瀏覽器使用PersistentConnections

•  在Windows Server 2012中啓用WebSockets 

我們需要兩種類型的客戶端,即.Net 與 瀏覽器兩種客戶端,保持與服務器之間的連接。

Demo 說明

我們會交叉提供不同的類型的客戶端demo,幾種類型的客戶端都在一臺服務器環境下工作

1、基於web的聊天Demo

2、基於.Net的控制檯程序

3、基於Windows 8WinRT 風格的客戶端

如果沒有Web Server,我們還提供一個宿主程序,使你的應用支持SinglR功能

The persistent connection,即長連接

SignalR使用長連接,在服務器與客戶端直接傳遞數據,接下來看我們的demo,使用Visual Studio 2012開發

 

1.      開始創建一個新項目

圖1

[圖1]

2.      選擇Web|Asp.Net Empty web Application,命名爲SignalRChat

圖2


3.      從NuGet添加引用,在SignalRChat項目中右鍵單擊引用

圖3


4.      在NuGet管理窗口中選在“在線”,搜索“Microsoft.AspNet.SignalR”,點擊安裝

圖4



5.      現在我們已經有了一個基本的程序,現在需要註冊一個路由,添加一個全局應用程序類:(Global.asax)

圖5



6.      去掉其他方法,這裏只用到了Application_Start 方法

7.      也不需要多餘的命名空間,保留System, System.Web、System.Web.Routing、Microsoft.AspNet.SignalR.

8.      路由方法配置如下:例如http://站點:端口/chat 來配置你的ChatConnection類

圖6

[圖6]


9.      添加長連接類:ChatConnection.cs

圖7

[圖7]

10.   ChatConnection繼承了PersistentConnetion類,這裏暫時不做處理

圖8

[圖8]

11.   服務端代碼告一段落,我們來添加客戶端代碼,添加一個Page頁面,名字爲index.html,添加Javascript來連接到服務器,並且開始聊天

圖9

[圖9]

12.   加入對js的引用,可以把文件直接拖過來

13.   添加Jquery,需要jquery1.6以上的版本

<scriptsrc="Scripts/jquery-1.8.3.js"></script>

14.   添加Jquery.signalR

<scriptsrc="Scripts/jquery.signalR-1.0.1.js"></script>

15.   加入以下代碼:

圖10

[圖10]

16.   加入用戶輸入界面

圖11

[圖11]


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章