iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 1
0
Modern Web

SignalR系列 第 7

SignalR 07 - Hub-進階篇(二)-稍微深入一點點的探討

在這一篇來跟各位介紹一下

我們該如何決定要傳給那些Client(總不能每次都全部發送吧....)

我們先預設目前要呼叫的方法是.Alert(msg)

Clients.All.Alert(msg)

=> 這東西...就是全部發送!!先前的範例都是使用他拉~

Clients.Caller.Alert(msg)

=> 這東西...就是誰調用hub method就傳給誰!!

Clients.Others.Alert(msg)

=> 這東西...就是除了調用hub method以外的都發

Clients.Client(Context.ConnectionId).Alert(msg)

=> 某個特定的ConnectionId(但這例子是指...誰呼叫hub就誰)

Clients.AllExcept(params string[] excludeConnectionIds).Alert(msg)

=> 除了excludeConnectionIds以外都發

Clients.Group(groupName).Alert(msg)

=> 發給某個特定的群組

但...這邊要說一下你得先使用下面的方法 把群組加進去...才能啟用

Groups.Add(string connectionId, string groupName)

Clients.Group(string groupName, params string[] excludeConnectionIds).Alert(msg)

=> 就是發給某個群組,但是卻不要發給群組內的excludeConnectionIds的

Clients.OthersInGroup(groupName).Alert(msg)

=> 就是某個群組內除了調用hub method其他的都發

Clients.User(userid).Alert(msg)

=> 這裡的userid就是IPrincipal.Identity.Name 這個我們會在下一篇討論

Clients.Clients(IList<string> connectionIds).Alert(msg)

=> 發給很多個ConnectionId!!

Clients.Groups(GroupIds).Alert(msg)

=> 類似上面....傳給很多個群組!!

經過上述的說明

希望各位對於SignalR Hub在於該發送訊息給那些Client可以有初步的了解

今天就先到這了!!


上一篇
SignalR 06 - Hub-進階篇(一)-稍微深入一點點的探討
下一篇
SignalR 08 - Hub-進階篇(三)-稍微深入一點點的探討
系列文
SignalR30

1 則留言

0
rainbowrain
iT邦新手 4 級 ‧ 2017-11-29 13:27:49

實用/images/emoticon/emoticon12.gif

900pro iT邦新手 4 級 ‧ 2017-12-02 14:11:40 檢舉

謝謝你喜歡

我要留言

立即登入留言