2013-02-24 108 views
0

我正在學習管理系統上工作,我有一個考試模塊要求,學生可以在考試期間通過與教授進行1對1的聊天提問。基本上學生會問一個與考試問題有關的問題,然後教授會回答那個特定的學生。我認爲這將是一個理想的用例來嘗試SignalR。SignalR跨多個頁面的聊天

所以我設置以下鏈接(http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr)基本的例子,但我很困惑,燙着手考慮我的要求,它們是:

  1. 對話始終是教授,一個學生是問之間原來的問題。
  2. 教授查看/收到問題的頁面和頁面是學生問的問題是兩個不同的頁面。

所以我的問題是:

  1. 能SignalR被用來在那裏張貼的客戶在一個頁面上郵件傳遞到客戶端上的另一個?
  2. 我該如何定位一個特定的客戶端,最好是通過我的應用中的用戶ID,而不是SignalR的客戶端的連接ID?有沒有辦法設置connectionID以及如何?這裏的正確方法是什麼?很明顯,我可以將我的用戶ID傳遞給客戶端,並擁有某種JavaScript來驗證返回的用戶ID與客戶端的用戶ID相同。但是,這是做到這一點的正確方法嗎?

我appologize文字和任何意見將不勝感激的漫長牆...

回答

2
  1. 是的,你甚至可以用SignalR將消息傳遞給客戶一個完全獨立的域。
  2. Clients.Client(「您要發送到的連接ID」)。
    不,您可以通過Context.ConnectionId訪問它。
    管理連接ID的最佳實踐SignalR 1.0 beta connection factory
    你永遠不想驗證客戶端,因爲它可以很容易地被改變,做認證服務器端。

最後,如果你正在尋找一個關於聊天結賬JabbR的樣本,它是開源的! https://github.com/davidfowl/JabbR

希望這會有所幫助!